<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/AmyHouse/1.jpg">
[[💤Sleep]]
[[Find Amy]]
<div class="disabled-button variation-2">Spy Amy. (Next Update)</div>
[[Back to the City|Village]]
<<playaudio "MagicWorldOfBimbo/Music/1DateAmy.mp3">><video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/AmyS2A.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 30ms>>\
<<speech "Amy">>But are you retarded? You're still shaken. Look, I use my hands to caress my chest and smear my breasts of course, just like this... uh... so sensitive I can barely brush them...
<</speech>>
[[Hey what was that noise?]]
<</typeNEW>>:: Exemple avec révélation progressive
Vous examinez le vieux livre.
<<linkappend "Lire la première page">>
La première page contient une introduction mystérieuse.
<<linkappend "Continuer la lecture">>
Vous découvrez que le livre parle d'un trésor caché.
<<linkappend "Tourner la page">>
Une carte apparaît sur la page suivante!
<</linkappend>>
<</linkappend>>
<</linkappend>>
:: Exemple avec options
Le garde vous arrête à l'entrée de la cité.
"Halte là ! Que venez-vous faire ici ?"
<<linkappend "Je suis un marchand">>
"Un marchand, hein? Montrez-moi votre permis de commerce."
<<link "Montrer le permis">><<goto "Entrée Acceptée">><</link>>
<<link "Avouer ne pas en avoir">><<goto "Entrée Refusée">><</link>>
<</linkappend>>
<<linkappend "Je suis un voyageur">>
"Un voyageur? D'où venez-vous?"
<<link "Du nord">><<goto "Tavern">><</link>>
<<link "Du sud">><<goto "Interrogatoire Sud">><</link>>
<</linkappend>>
:: Exemple avec remove
Vous apercevez une créature étrange dans les buissons.
<<linkappend "Plante" remove>>
<<shake 400ms>><<linkappend "Plante encorer" remove>><</linkappend>><</shake>>
<</linkappend>><<if $gold >= 5>>\
<span style="color: #FFD700; display: flex; align-items: center; gap: 5px;">You paid 5 🪙</span>\
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/01-ShopBuy.ogg');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>\
<<set $gold -= 5>>\
<<set $Armor = 1>>\
<div class="purchase-container">
<video width="100%" height="30%" playsinline autoplay loop muted class="purchase-image">
<source src="MagicWorldOfBimbo/Village/Shop/yes.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<div class="purchase-overlay">\
<div class="purchase-effect">ARMOR ACQUIRED!</div>\
</div>\
</div>\
<<speech "Seller">>Thank you for your purchase, sir. With this armor, the enemies of the forest will not harm you.<</speech>>
<<else>>\
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Shop/no.jpg">
<<speech "Seller">><span class="bounce">Sorry!, but you need at least 5 gold pieces</span>. Come back when you have enough money.<</speech>>
<</if>>\
[[Back to the City|Village]]
<style>
.bounce {
display: inline-block;
animation: bounce 0.5s infinite;
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
/* Purchase animation styles */
.purchase-container {
position: relative;
overflow: hidden;
margin-bottom: 10px;
}
.purchase-image {
animation: pulse 1s ease-in-out;
}
.purchase-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
pointer-events: none;
}
.purchase-effect {
color: #FFD700;
font-size: 2em;
font-weight: bold;
text-shadow: 0 0 10px #FFD700, 0 0 20px #FFD700;
background-color: rgba(0, 0, 0, 0.5);
padding: 10px 20px;
border-radius: 10px;
animation: fadeInOut 2s ease-in-out forwards;
transform: scale(0);
}
@keyframes pulse {
0% { filter: brightness(1); }
50% { filter: brightness(1.5); }
100% { filter: brightness(1); }
}
@keyframes fadeInOut {
0% { opacity: 0; transform: scale(0) rotate(-10deg); }
20% { opacity: 1; transform: scale(1.2) rotate(5deg); }
80% { opacity: 1; transform: scale(1) rotate(0); }
100% { opacity: 0; transform: scale(0.8); }
}
</style>BONUS :
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/Bonus/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/Bonus/2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/Bonus/3.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/Bonus/4.mp4" type="video/mp4">
Your browser does not support the video tag.
</video><img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Date/Park/BJ/A1.webp">
<<speech "Amy">>Why are you looking at my mouth?<</speech>>
<<linkappend2 "Hum..." "NospeechScroll">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/Park/BJ/A2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>Alright, I understand. Follow me to a discreet spot.<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Date/Park/BJ/0.jpg">
<<speech "Amy">>I can't leave you like this, it's my fault if you've such a boner. Show it to me... What the... By the Goddess, it's huge!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Date/Park/BJ/1.jpg">
<<speech "Amy">>Why didn't you tell me you had such a monster? It's like a flower to me! Hmmm and the smell is intoxicating. I can't resist, I must... Kiss!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Date/Park/BJ/2.jpg">
<<speech "Amy">>And taste it! Glup... Mmmmh... Yummy!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/Park/BJ/3.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>Let me show you how I deepthroat big things like this... Glok! Glug! Do you like ?<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Date/Park/BJ/4b.webp">
<<speech "Amy">>Fuck, it's huge! It's the first time I struggle to swallow entirely a human dick! Glog! Shlop!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Date/Park/BJ/5.webp">
<<speech "Amy">>But it's delicious... Shlop! Hmmmm... I'm getting accustomed, now it fits down my throat... Glog! So good.... MMMMMHHH....<</speech>>
<<linkappend2 "Cumming" "NospeechScroll">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = $("#volumeSlider").val() / 100 || 0.3;
soundEffect.play();
<</script>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Date/Park/BJ/6.png">
<<speech "Amy">>Oh! You're cumming already! Slurp! My tight throat and tiny mouth were that good? Slurp! Hey even your semen tastes good! Yum! Gulp!! <</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Date/Park/BJ/7.webp">
<<speech "Amy">> Gulp! I'm a bit disturbed... Your dick drove me a bit wild. And your sperm is so delicious! Let me drink it all! GULP! GULP! <</speech>>
[[Back to the City|Village]]
<</linkappend2>>
<</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>>
<<set _randomImg = Math.floor(Math.random() * 9)>>
<<set _rockImg = '<img id="rockImage" width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/BuyScroll/' + _randomImg + '.webp">'>>
<<print _rockImg>>
<<speech "Witch">>Please examine the shelves behind me to find a scroll. The shelves, I said, what are you looking at? Ok it's very narrow, but you can skirt around me, there's enough space for two persons... I think. Don't be afraid to brush me."
<</speech>>
<<if $Life < 45>>
<<speech "Witch">>Some parchments are dangerous. Come back when your life is full.<</speech>>
<</if>>
<<if $Life > 45>>
<<linkreplace "🕮 Search for a new scroll..." t8n>>
<<set $FoundScroll += 1>>
Searching...<<timed 1s transition>><br>Check at left... <<next>><br> Hit the shelf... <<next>>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/gentle_drop.mp3');
soundEffect.volume = $("#volumeSlider").val() / 100 || 0.3;
soundEffect.play();
<</script>>
<<if $FoundScroll == 1>>
<br><<shake 400ms>>🔥You burned your hands on a scroll of fire (-20 HP).<</shake>><<set $Life -= 30>>
<<elseif $FoundScroll == 3>>
<br><<shake 200ms>>🕮 Free tits scroll found!<</shake>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/BuyScroll/Success/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<elseif $FoundScroll == 4>>
<br><<shake 200ms>>🕮 💀Cursed parchment max pleasure<</shake>>
After reading the scroll, your arousal surges to its maximum and you cannot stop yourself from ejaculating on the Witch...
Heavy loads of thick white goo plasters her pretty face, but fortunately, she doesn't seem to be angry. Rather worried.
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/BuyScroll/TrySpell/Cumface/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Witch">>Oh, no, why did I leave that scroll on that shelf!? I'm so sorry, you're cursed. Don't look at the women's nipples, or you'll ejaculate uncontrollably. Don't worry for me, I'm used to this curse...<</speech>>
<<elseif $FoundScroll == 5>>
<br><<shake 400ms>>☠️A parchment has poisoned you.(-30 HP).<</shake>> <<set $Life -= 50>>
<<elseif $FoundScroll == 7>>
<br><<shake 200ms>>🕮 Invisible scroll found!<</shake>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/BuyScroll/Success/2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<elseif $FoundScroll == 10>>
<br><<shake 400ms>>☠️A parchment has cursed you.(1 HP).<</shake>> <<set $Life = 1>>
<<elseif $FoundScroll == 12>>
<br><<shake 200ms>>🕮 X-Ray scroll found!<</shake>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/BuyScroll/Success/3.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<elseif $FoundScroll > 12>>
<br><<shake 200ms>>🕮 Nothing more to search...(Next Update)<</shake>>
<<set $FoundScroll = 13>>
<<else>>
<br><<shake 100ms>> Nothing...<</shake>>
<</if>>
<<run $("#life-progress").val($Life)>>
<<next>>
[[Again?|🕮 Searching for a new spell]]
<</timed>>
<</linkreplace>>
<</if>>
<<if $FoundScroll > 2 and $Scrolltitsfree == 0>>
<<linkappend "Learn free tits scroll (Cost 100 Gold 🪙)">>
<<if $gold >= 100>>
<<set $Scrolltitsfree to 1>>
<<set $gold -= 100>>
<<shake 100ms>> Nothing...<</shake>>
You have learned the free tits scroll!
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/BuyScroll/Learn/2.mp4" type="video/mp4">
</video>
<<else>>
<<speech "Witch">>You need more gold my dear...<</speech>>
<</if>>
<</linkappend>>
<</if>>
<<if $FoundScroll > 6>>
<div class="disabled-button variation-2">Learn invisible scroll 500🪙 (Next Update)</div>
<</if>>
<<if $FoundScroll > 12>>
<div class="disabled-button variation-2">Learn X-ray scroll 1000🪙 (Next Update)</div>
<</if>>
<br>
<<if $Scrolltitsfree == 1>>
[[🪄Cast a spell on the Witch|TryWitchSpell]]
<</if>>
[[Back to the Forest|Enter the forest]]
<<set $relations = {
"Amy": { level: State.variables.AmyRelation, pic: "MagicWorldOfBimbo/Avatar/Amy.jpg", Desc: "Your future girlfriend?" },
"Witch": { level: State.variables.WitchRelation, pic: "MagicWorldOfBimbo/Avatar/Witch.jpg", Desc: "She put a spell on you." },
"Seller": { level: State.variables.SellerRelation, pic: "MagicWorldOfBimbo/Avatar/Seller.jpg", Desc: "Can you buy her heart?"},
"Elena": { level: 0, pic: "MagicWorldOfBimbo/Avatar/Elena.jpg", Desc: "Beautiful flower of the forest." }
}>>
<div class="relations-table">
<<for _name, _data range $relations>>
<div class="character-row">
<div class="character-cell">
<div class="character-avatar">
<<print '<img src="' + _data.pic + '" alt="' + _name + '">'>>
</div>
<div class="character-info">
<span class="character-name"><<= _name >></span>
<span class="character-desc"><<= _data.Desc >></span>
</div>
</div>
<div class="level-cell">
<div class="level-display">
<span class="relation-level">Level <<= _data.level >></span>
<div class="hearts">
<<for _i range 5>>
<<if _i < _data.level>>
<span class="heart heart-red">❤</span>
<<else>>
<span class="heart heart-gray">❤</span>
<</if>>
<</for>>
</div>
</div>
</div>
</div>
<</for>>
</div>
<style>
.relations-table {
width: 100%;
max-width: 700px;
margin: 0 auto;
font-family: Arial, sans-serif;
}
.character-row {
display: flex;
align-items: center;
background: rgba(255, 255, 255, 0.8);
border-radius: 12px;
margin-bottom: 15px;
padding: 15px;
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease;
}
.character-row:hover {
transform: translateY(-3px);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);
background: rgba(255, 255, 255, 0.95);
}
.character-cell {
display: flex;
align-items: center;
flex: 2;
}
.level-cell {
flex: 1;
text-align: center;
}
.character-avatar {
width: 60px;
height: 60px;
margin-right: 15px;
flex-shrink: 0;
}
.character-avatar img {
width: 100%;
height: 100%;
border-radius: 50%;
border: 3px solid #4a89dc;
object-fit: cover;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.character-info {
display: flex;
flex-direction: column;
}
.character-name {
font-size: 18px;
font-weight: bold;
color: #2c3e50;
margin-bottom: 5px;
}
.character-desc {
font-size: 14px;
color: #7f8c8d;
line-height: 1.4;
}
.level-display {
display: flex;
flex-direction: column;
align-items: center;
}
.relation-level {
font-size: 16px;
font-weight: bold;
color: #e74c3c;
margin-bottom: 8px;
}
.hearts {
line-height: 1;
}
.heart {
font-size: 1.5em;
margin: 0 2px;
transition: transform 0.2s ease;
}
.heart:hover {
transform: scale(1.4);
}
.heart-red {
color: #e74c3c;
text-shadow: 0 0 5px rgba(231, 76, 60, 0.3);
}
.heart-gray {
color: #bdc3c7;
}
/* Responsive */
@media (max-width: 600px) {
.character-row {
flex-direction: column;
text-align: center;
padding: 20px;
}
.character-cell {
flex-direction: column;
margin-bottom: 15px;
}
.character-avatar {
margin-right: 0;
margin-bottom: 10px;
}
.character-info {
align-items: center;
}
.character-desc {
text-align: center;
}
}
</style><img width="100%" height="20%" src="MagicWorldOfBimbo/PresentationF95.jpg">
💖Enjoying the game? Support us! It helps a lot and inspires me to make even better things for you. Support us and win rewards!
<h2>💎 Reward for your support :</h2>
<span style="color: #eeeeee;">🔒</span> <span style="color: #eeeeee;">Exclusif NSFW Scenes.</span><br>
<span style="color: #eeeeee;">💪</span> <span style="color: #eeeeee;">Cheats code. (Golds, Life, Love,...).</span> <br>
<span style="color: #eeeeee;">🔞</span> <span style="color: #eeeeee;">Early access to the next update.</span><br>
<br>
<a href="https://www.patreon.com/adn700" target="_blank" class="clickable-image">
<img src="MagicWorldOfBimbo/Patreon.jpg" alt="Patreon" style="width: 100%; max-width: 500px; transition: transform 0.3s;">
Patreon : ADN700
</a>
<br><br>
<a href="https://doctorbimbo.fanbox.cc/" target="_blank" class="clickable-image">
<img src="MagicWorldOfBimbo/LogoFanCC.png" alt="Fan CC" style="width: 100%; max-width: 500px; transition: transform 0.3s;">
Fanbox : Doctor Bimbo
</a>
<style>
.clickable-image {
display: inline-block;
position: relative;
text-decoration: none;
}
.clickable-image:hover img {
transform: scale(1.03);
box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}
.image-caption {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background: rgba(0,0,0,0.7);
color: white;
padding: 8px;
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
opacity: 0;
transition: opacity 0.3s;
}
</style>Some long text...
<<if $choice1>>
\Long replacement text for choice 1...
\<<else>>
\<<linkreplace "Choice 1">>Long replacement text for choice 1...<<set $choice1 to true>><</linkreplace>>
\<</if>>
<<if $choice2>>
\Long replacement text for choice 2...
\<<else>>
\<<linkreplace "Choice 2">>Long replacement text for choice 2...<<set $choice2 to true>><</linkreplace>>
\<</if>>
<<if $choice3>>
\Long replacement text for choice 3...
\<<else>>
\<<linkreplace "Choice 3">>Long replacement text for choice 3...<<set $choice3 to true>><</linkreplace>>
\<</if>>
[[Continue|Other]]Some long text...
<<if $choice1>>
\Long replacement text for choice 1...
\<<else>>
\<<linkreplace "Choice 1">>Long replacement text for choice 1...<<set $choice1 to true>><</linkreplace>>
\<</if>>
<<if $choice2>>
\Long replacement text for choice 2...
\<<else>>
\<<linkreplace "Choice 2">>Long replacement text for choice 2...<<set $choice2 to true>><</linkreplace>>
\<</if>>
<<if $choice3>>
\Long replacement text for choice 3...
\<<else>>
\<<linkreplace "Choice 3">>Long replacement text for choice 3...<<set $choice3 to true>><</linkreplace>>
\<</if>>
[[Continue|Other]]:: Départ
Vous flânez tranquillement sur la place du marché, admirant un étal de choux particulièrement... chouettes. Soudain, un garde s'approche, l'air sévère.
<<linkappend "Déclencher une cascade d'éternuements exagérés">>
<<set $compte_eternuements to 0>>
<<timed 0.5s>>
<<goto "Eternuement1">>
<</timed>>
<</linkappend>>
<<linkappend "Faire semblant d'être un touriste perdu">>
Le garde lève un sourcil. "Vous êtes nouveau ici, n'est-ce pas ? Circulez, circulez, y a rien à voir ! (sauf les choux...)"
<<goto "Circulation">>
<</linkappend>>
<<linkappend "Tenter un pot-de-vin avec un navet">>
Vous sortez un navet de votre sac et le tendez au garde avec un sourire. "Pour... la circulation ?"
Le garde hésite, puis répond : "C'est... original. Mais non. Circulez !"
<<goto "Circulation">>
<</linkappend>>
:: Eternuement1
ATCHOUM !
<<set $compte_eternuements to $compte_eternuements + 1>>
<<if $compte_eternuements lt 5>>
<<timed 0.5s>>
<<goto "Eternuement2">>
<</timed>>
<<else>>
Le garde, visiblement irrité, vous fait signe de partir. "Assez ! Circulez avant que je ne vous fasse éternuer en prison !"
<<goto "Circulation">>
<</if>>
:: Eternuement2
ATCHOUM ! ATCHOUM !
<<set $compte_eternuements to $compte_eternuements + 1>>
<<if $compte_eternuements lt 5>>
<<timed 0.5s>>
<<goto "Eternuement1">>
<</timed>>
<<else>>
Le garde, visiblement irrité, vous fait signe de partir. "Assez ! Circulez avant que je ne vous fasse éternuer en prison !"
<<goto "Circulation">>
<</if>>
:: Circulation
Vous vous éloignez à contrecœur, murmurant quelque chose sur "les joies de la vie citadine". Où voulez-vous aller maintenant ?
:: Taverne
Vous entrez dans une taverne sombre et enfumée. L'odeur de bière et de vieux fromage vous frappe.
(À suivre...)<!-- Small image that the player can click -->
<img src="MagicWorldOfBimbo/Amy.jpg" alt="Small Image" class="clickable-image" onclick="showImageModal('MagicWorldOfBimbo/Amy.jpg')">
<!-- Modal for displaying the larger image -->
<div id="image-modal" class="modal">
<span class="close" onclick="closeImageModal()">×</span>
<img id="modal-image" class="modal-content">
</div>
<style>
/* Style for the clickable image */
.clickable-image {
width: 150px;
height: auto;
cursor: pointer;
border: 2px solid #ccc;
border-radius: 5px;
transition: transform 0.2s ease;
}
.clickable-image:hover {
transform: scale(1.05);
border-color: #777;
}
/* Modal styles */
.modal {
display: none; /* Hidden by default */
position: fixed;
z-index: 1000;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.9);
}
.modal-content {
display: block;
margin: auto;
max-width: 80%;
max-height: 80%;
margin-top: 5%;
}
.close {
position: absolute;
top: 20px;
right: 35px;
color: white;
font-size: 40px;
font-weight: bold;
cursor: pointer;
}
.close:hover {
color: #ccc;
}
</style>
<script>
// Function to show the modal with the larger image
function showImageModal(imageUrl) {
const modal = document.getElementById("image-modal");
const modalImg = document.getElementById("modal-image");
modal.style.display = "block";
modalImg.src = imageUrl;
}
// Function to close the modal
function closeImageModal() {
const modal = document.getElementById("image-modal");
modal.style.display = "none";
}
</script>
dsds<<shakescreen "300ms">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/7.jpg" class="damage-effect">
<<speech "Elena">>Oh you're cumming... in my mouth... already? you could have warned!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/8.webp" class="damage-effect">
<<speech "Elena">>GULP! GULP! Oh my goddess, I'm having trouble swallowing it all, there's too much! But I must focus, the toxin must be entirely drained!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/9.webp" class="damage-effect">
<<speech "Elena">>Slurp! Gulp! It's getting thicker and thicker. GULP! But I won't let you down! GULP! <</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/10.jpg">
<<speech "Elena">>Gulp! I hope I won't get pregnant with all the cream I'm swallowing. Just kidding slurp!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/11.jpg" class="damage-effect">
<<speech "Elena">>I swallowed it all! What a feast, I'm replete. If I've known you had that much cum, we would have started with the blowjob! Sir, are you okay?<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/12.jpg" class="damage-effect">
<<speech "Elena">>I feel much better. Your rich semen healed me for sure. You are my savior, and deserve a reward.<</speech>>
<span class="attack-effect">
"You may have dreamed you saved her, but in fact it's the last idea you have before you die..."
</span>
[[💀Restart|NewStart]]
<<if $FanCode == 1>>[[✨ Dream of anal sex reward!]]<<endif>>
<<if $FanCode == 0>><div class="disabled-button">Bonus anal's sex.<a href="https://doctorbimbo.itch.io/magic-world-of-bimbo" target="blank">✨ Support Us ✨</a></div>\<<endif>>
<</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>>
<style>
.attack-effect {
display: inline-block;
font-weight: bold;
color: red;
animation: attack 0.5s infinite;
}
@keyframes attack {
0% {
transform: translateX(0) translateY(0);
color: red;
text-shadow: 0 0 5px rgba(255, 0, 0, 0.8);
}
25% {
transform: translateX(-5px) translateY(-5px);
color: darkred;
text-shadow: 0 0 10px rgba(255, 0, 0, 0.8);
}
50% {
transform: translateX(5px) translateY(5px);
color: orange;
text-shadow: 0 0 15px rgba(255, 165, 0, 0.8);
}
75% {
transform: translateX(-5px) translateY(-5px);
color: yellow;
text-shadow: 0 0 20px rgba(255, 255, 0, 0.8);
}
100% {
transform: translateX(0) translateY(0);
color: red;
text-shadow: 0 0 5px rgba(255, 0, 0, 0.8);
}
}
</style><<set _randomImg = Math.floor(Math.random() * 6)>>\
<div id="combat-ui" style="text-align: center;">\
<<print '<video width="100%" height="30%" playsinline autoplay loop muted alt="Enemy" id="enemy-img">' +
'<source src="MagicWorldOfBimbo/Forest/DeepForest/' + _randomImg + '.mp4" type="video/mp4">' + 'Your browser does not support the video tag.</video>'>>
<nobr>
<div id="attack-bar-container" style="width: 300px; height: 30px; background-color: #555; margin: 0 auto 15px; position: relative; border: 2px solid white; overflow: hidden; border-radius: 5px; box-shadow: inset 0 1px 3px rgba(0,0,0,0.5);">
<div id="bar-blue-left" style="position: absolute; left: 0%; top: 0; width: 25%; height: 100%; background-color: dodgerblue;"></div>
<div id="bar-orange-left" style="position: absolute; left: 25%; top: 0; width: 15%; height: 100%; background-color: orange;"></div>
<div id="bar-red-center" style="position: absolute; left: 40%; top: 0; width: 20%; height: 100%; background-color: crimson;"></div>
<div id="bar-orange-right" style="position: absolute; left: 60%; top: 0; width: 15%; height: 100%; background-color: orange;"></div>
<div id="bar-blue-right" style="position: absolute; left: 75%; top: 0; width: 25%; height: 100%; background-color: dodgerblue;"></div>
<div id="attack-cursor" style="position: absolute; left: 0%; top: 0; width: 4px; height: 100%; background-color: black; z-index: 1;"></div>
</div>\
\
<button id="attack-button">Fight</button>\
\
\
<div id="attack-feedback" style="margin-top: 15px; font-weight: bold; line-height: 1.4;"> </div>\
\
<div id="combat-continue" style="margin-top: 20px; display: none;">\
<<if $Life > 8>><<endif>>
</div>\
</nobr>
</div>
<style>
#attack-button {
display: block; margin: 0 auto; width: 250px;
padding: 12px 20px; font-size: 1.1em; font-weight: bold;
cursor: pointer; background-color: crimson; color: white;
border: none; border-radius: 5px; text-transform: uppercase;
transition: background-color 0.2s ease, transform 0.1s ease;
}
#attack-button:hover { background-color: darkred; }
#attack-button:active { transform: scale(0.98); }
#attack-button:disabled {
cursor: not-allowed; background-color: #993333; opacity: 0.7;
}
#attack-feedback {
padding: 5px;
border: 2px solid transparent;
display: inline-block;
min-width: 280px;
min-height: 5em;
vertical-align: top;
}
</style>
<<script>>
var CONFIG_CURSOR_SPEED = 200; // Déclaration en dehors de la fonction $(document).one(...)
var blueZone1End = 25;
var orangeZone1End = 40;
var redZoneEnd = 60;
var orangeZone2End = 75;
var results = {
critical: { Critique: 20, gold: 10, hpLost: 5, color: 'crimson', label: 'Perfect Combat!' },
good: { damage: 10, gold: 5, hpLost: 10, color: 'orange', label: 'Medium Combat!' },
weak: { damage: 5, gold: 2, hpLost: 20, color: 'dodgerblue',label: 'Low Combat.' }
};
$(document).one(':passagedisplay', function (ev) {
var cursorPosPercent = 0;
var cursorDirection = 1;
var intervalId = null;
var lastUpdateTime = performance.now();
var cursor = $('#attack-cursor');
var button = $('#attack-button');
var feedback = $('#attack-feedback');
var continueLinks = $('#combat-continue');
var enemyImage = $('#enemy-img');
function updateCursor() {
var now = performance.now();
var deltaTime = (now - lastUpdateTime) / 1000;
lastUpdateTime = now;
cursorPosPercent += cursorDirection * CONFIG_CURSOR_SPEED * deltaTime;
if (cursorPosPercent >= 100) {
cursorPosPercent = 100; cursorDirection = -1;
} else if (cursorPosPercent <= 0) {
cursorPosPercent = 0; cursorDirection = 1;
}
cursor.css('left', cursorPosPercent + '%');
}
function handleAttack() {
enemyImage.css('filter', 'grayscale(100%)');
if (intervalId !== null) {
clearInterval(intervalId);
intervalId = null;
}
button.prop('disabled', true);
var finalPos = cursorPosPercent;
var attackResult;
if (finalPos > orangeZone1End && finalPos <= redZoneEnd) {
attackResult = results.critical;
} else if ((finalPos > blueZone1End && finalPos <= orangeZone1End) ||
(finalPos > redZoneEnd && finalPos <= orangeZone2End)) {
attackResult = results.good;
} else {
attackResult = results.weak;
}
var message = `<span style="color: ${attackResult.color}; font-weight:bold;">${attackResult.label}</span><br>`;
message += `Enemy is KO.<br>`;
message += `You lost ${attackResult.hpLost} HP.<br>`;
message += `You gained ${attackResult.gold} Gold.`;
if (State.variables.Life < 10)
{message += `Low HP, Need to rest.`;
}
feedback.css({ 'border': `2px solid ${attackResult.color}` });
feedback.html(message);
try {
console.log(`Updating variables: Enemy HP -= ${attackResult.damage}, Player HP -= ${attackResult.hpLost}, Player Gold += ${attackResult.gold}`);
State.variables.gold += attackResult.gold;
State.variables.Life -=attackResult.hpLost
// Afficher la nouvelle valeur
} catch (e) {
console.error("Error updating Sugarcube variables. Make sure $enemyHP, $playerHP, and $playerGold are initialized.", e);
feedback.append("<br><span style='color:red;font-size:0.8em;'>Error updating game state! Check console (F12).</span>");
}
continueLinks.show();
}
function startGame() {
enemyImage.css('filter', 'none');
cursorPosPercent = 0; cursorDirection = 1;
cursor.css('left', '0%');
feedback.html(' ');
feedback.css({'border-color': 'transparent'});
button.prop('disabled', false);
continueLinks.hide();
lastUpdateTime = performance.now();
if (intervalId === null) {
intervalId = setInterval(updateCursor, 16);
}
}
button.on('mousedown', handleAttack);
startGame();
$(document).one(':passagedone', function (ev) {
if (intervalId !== null) { clearInterval(intervalId); intervalId = null; }
button.off('mousedown', handleAttack);
});
});
<</script>><<set $helenaEat to 1>>
You unlock a new way to die!
[[Restart|NewStart]]<div class="video-container">\
<video class="video" autoplay muted playsinline loop>\
<source src="MagicWorldOfBimbo/Intro/AmyS4Dream.mp4" type="video/mp4">\
</video>\
<div class="fade-overlay"></div>\
</div>\
<<typeNEW 30ms>>\
<<speech "You">>I'm dreaming ?!! What was that strange wolf? Amy ?...
<</speech>>
<</typeNEW>>
[[Restart|NewStart]]
<style>
.video-container {
position: relative;
width: 100%;
height: 100%;
}
.video {
width: 100%;
height: 100%;
}
.fade-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
animation: fadeToBlack 4s infinite;
pointer-events: none;
z-index: 1;
}
@keyframes fadeToBlack {
0% { background-color: rgba(0, 0, 0, 1); }
25% { background-color: rgba(0, 0, 0, 0.1); }
50% { background-color: rgba(0, 0, 0, 0.8); }
75% { background-color: rgba(0, 0, 0, 0.2); }
100% { background-color: rgba(0, 0, 0, 1); }
}
</style><img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/Anal/1.jpg">
<<speech "Elena">>As a reward, do you want to sodomize me Sir? To get though my tight little asshole? Males usually love it!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/Anal/2.jpg">
<<speech "Elena">>Of course you want! Wow, what impetuosity, forcing me to sit on your manhood! Mmmmh your big penis fits perfectly in there...<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/Anal/3.jpg">
<<speech "Elena">>Aaaah... Yes! I'm gonna like this even more than I thought. Let me move on your pole... Yes, like that, let me stretch my anus on your beautiful dick.<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<video width="100%" height="30%" playsinline autoplay loop muted >
<source src="MagicWorldOfBimbo/Intro/Bl-Elena/Anal/4a.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Elena">>Oh yes I'm cumming already.... Keep going....<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/Anal/4.webp">
<<speech "Elena">>Deeper... just a little further... Yes, you got this. So gewd to have your huge cock up my ass while I'm touching my pussy!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/Anal/5.jpg">
<<speech "Elena">>Mmm... feels so good right there. Don't stop, I want another anal orgasm!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/Anal/6.jpg">
<<speech "Elena">>Oh, yes... keep going... like that. Hard and deep in my asshole! Make my big tits bounce as you're banging me!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/Anal/7.webp">
<<speech "Elena">>You're getting bigger in the bottom of my ass... Please hold on, I'm close... Oh, yes. You feel so good massaging my rectum like that.<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/Anal/8.jpg">
<<speech "Elena">>Oh yes take me from behind... Anal doggy's my favorite! I'm getting so excited... I'm going to... I'm so close!<</speech>>
<<linkappend2 "Cumming">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = $("#volumeSlider").val() / 100 || 0.3;
soundEffect.play();
<</script>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/Anal/9.jpg">
<<speech "Elena">>Ah yes... please... fill my bowels with your cum...I need you to explode inside of me. So hot!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/Anal/10.jpg">
<<speech "Elena">>More... please, more! I want to feel that again. I need more hot thick semen in my asshole!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/Anal/11.jpg">
<<speech "Elena">>I feel amazing now... complete. You're the best. I feel so relaxed. Let me taste your sperm from my ass! Slurp! Gulp! Yummy... And perfect to oil my boobs... What a gift!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/Anal/12.jpg">
<video width="100%" height="30%" playsinline autoplay loop muted >
<source src="MagicWorldOfBimbo/Intro/Bl-Elena/Anal/12.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Elena">>I feel so full... As if I was pregnant with cum! Did you give me all your seed? You must have saved it for months. You really went all in!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/Anal/13.jpg">
<<speech "Elena">>Is it just me, or is something wrong? Are you okay?! You seem a little pale... Hey stay with me, I want to see if you can fill me even more, my saviour...<</speech>>
<span class="attack-effect">
"You may have dreamed you have saved and banged her, but you still die... Maybe you'll manage to assfuck her this way in real life one day... in another life?"
</span>
[[💀Restart|NewStart]]
<</linkappend2>>
<</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>>
<style>
.attack-effect {
display: inline-block;
font-weight: bold;
color: red;
animation: attack 0.5s infinite;
}
@keyframes attack {
0% {
transform: translateX(0) translateY(0);
color: red;
text-shadow: 0 0 5px rgba(255, 0, 0, 0.8);
}
25% {
transform: translateX(-5px) translateY(-5px);
color: darkred;
text-shadow: 0 0 10px rgba(255, 0, 0, 0.8);
}
50% {
transform: translateX(5px) translateY(5px);
color: orange;
text-shadow: 0 0 15px rgba(255, 165, 0, 0.8);
}
75% {
transform: translateX(-5px) translateY(-5px);
color: yellow;
text-shadow: 0 0 20px rgba(255, 255, 0, 0.8);
}
100% {
transform: translateX(0) translateY(0);
color: red;
text-shadow: 0 0 5px rgba(255, 0, 0, 0.8);
}
}
</style><video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/A4.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 30ms>>\
<<speech "Elena">>They're delicious! Here, have some too...<</speech>>
<<linkappend2 "(Eat the berries)">>
<<speech "Elena">>My stomach is kind of upset. How are you feeling?!<</speech>>
<span class="attack-effect">
"As the poison you've just ingested took effect, you fainted after a moment..."
</span>
[[Die of poisoning]]
<<if $helenaEat neq 1 and $SecretScenes eq 0>><div class="disabled-button">Extract the poison with a blowjob.</div><<endif>>
<<if $helenaEat eq 1 or $SecretScenes eq 1>>[[Extract the poison with a blowjob.]]<<endif>>
<</linkappend2>>
<</typeNEW>>
<style>
.attack-effect {
display: inline-block;
font-weight: bold;
color: red;
animation: attack 0.5s infinite;
}
@keyframes attack {
0% {
transform: translateX(0) translateY(0);
color: red;
text-shadow: 0 0 5px rgba(255, 0, 0, 0.8);
}
25% {
transform: translateX(-5px) translateY(-5px);
color: darkred;
text-shadow: 0 0 10px rgba(255, 0, 0, 0.8);
}
50% {
transform: translateX(5px) translateY(5px);
color: orange;
text-shadow: 0 0 15px rgba(255, 165, 0, 0.8);
}
75% {
transform: translateX(-5px) translateY(-5px);
color: yellow;
text-shadow: 0 0 20px rgba(255, 255, 0, 0.8);
}
100% {
transform: translateX(0) translateY(0);
color: red;
text-shadow: 0 0 5px rgba(255, 0, 0, 0.8);
}
}
</style><span class="gradient-text">*** End of this Update ***</span>
Thank you for playing my little demo! I hope you had as much fun playing it as I had making it.
If you enjoyed it and would like to see more, please leave a comment below / Like. Your feedback is greatly appreciated!
[[Restart|NewStart]]
[[BONUS]]
<style>
.gradient-text {
background: linear-gradient(90deg, red, orange, yellow, green, orange, red, violet);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
</style>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/1.jpg">
[[Back to the City|Village]]
<<if $WitchRelation == 0>>\
[[Go to the tree house|WitchInit]]
<<endif>>\
<<if $WitchRelation > 0>>\
[[Go to the Witch|WitchShop]]
<<endif>>\
<<if $WitchRelation >= 1 and $Mana >1 >>\
[[Find animals in the Forest|FightForest1]]
<<endif>>\
<<if $Mana < 2 or $WitchRelation < 1>>\
<div class="disabled-button variation-2">Forest (need Mana 🧪)</div>\
<<endif>>\
<<if $Weapon >0 and $Life >10 >>\
[[Deep-Forest|Deep-Forest2]]
<</if>>\
<<if $Weapon == 0>>\
<div class="disabled-button variation-2">Deep-Forest (Requis Weapon and 10 Life ❤️)</div>\
<</if>>\
<<playaudio "MagicWorldOfBimbo/Music/1Forest2.mp3">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/Bl-Elena/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 20ms>>
<<speech "Elena">>Oh no, this fruit is poisonous for you? What about me? What should I do? I don't feel very well either...
<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/2.jpg" class="damage-effect">
<<speech "Elena">>What, a blowjob to extract the venom? It makes sense, I've heard some forest toxins accumulate in the balls. Yes, that might be the solution, you're so clever! Hold on, I'll readily drain the toxin! <</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/3.jpg" class="damage-effect">
<<speech "Elena">>But what a huge, thick veiny cock! How am I supposed to make it fit in my tiny, innocent mouth? But I must make an effort to save you.<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/4.webp" class="damage-effect">
<<speech "Elena">>Slurps... glub!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/5.webp">
<<speech "Elena">>Gluuuups... Glok!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/6.jpg" class="damage-effect">
<<speech "Elena">>Sluuurp! I feel better, seems your tasty precum is curing me. But what about you? Do you want me to put it between my huge tits while I deepthroat you? Shlop!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/6b.webp">
[[Cum]]
<</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>>
<</typeNEW>>
<<set _randomEnemy = Math.floor(Math.random() * 4)>>
<<if _randomEnemy == 0>>
<span id="premierePhrase">A beautiful doe appears ! But wait, she looks... humanoid? She wears clothes?!?
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/level1/intro.mp4" type="video/mp4">
Your browser does not support the video tag.
</video></span>
[[Continue to walk|FightForest1]]
<span class="cast-spell-lien"><<link "🪄 Cast the spell...">><<replace #contenu>>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Spell.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<<set _randomSpell = Math.floor(Math.random() * 99)>>
<<if _randomSpell >= 80>>
<<set $Mana -= 20>>
<span class="gradient-text">Cost 🧪: Mana - 20</span>
<span class="bounce"><span class="gradient-text"><H1>
The spell has failed. Would you like to try again?</H1></span></span>
[[Try again|FightForest1]]
[[Leave|Enter the forest]]
<</if>>
<<if _randomSpell < 80>>
<span class="gradient-text">Cost 🧪: Mana - 20</span>
<div class="purchase-container">
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/level1/0.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<div class="purchase-overlay">
<div class="magic-effect-container">
<div class="magic-circle"></div>
<div class="magic-aura"></div>
<div class="magic-rays"></div>
<div class="magic-energy"></div>
</div>
</div>
</div>
The doe gradually transforms into a human female... well, still with antlers...
<<set $Mana -= 20>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/level1/2.jpg">
"Yo...u Sa...ve me...Thanks!"
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/level1/3.jpg">
"I... sense you are in.... heat and ready to... reproduce."
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/level1/4.jpg">
"Please... Let's... breed... I need semen... right now!"
<<run incrementQuestProgress("Transform 5 women for the witch.")>>
<<set $CaptureForest += 1>>
<<linkappend "Show her your cock">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/level1/10.jpg">
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/level1/10.webp">
"OOOh. Better than in my wildest dreams... Bigger than the deer! Oh... I remember your smell... Where? When?"
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/level1/11.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
"Slurp! Shlop! Give me... your gift! Slurp! Glop!"
<<linkappend "Cumming">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/level1/12.jpg" id="ShakeHit">
"You're cumming... I want to taste and savour it! Hmmm! my savior you taste so good... I remember that taste... It was you who... Gulp! Gulp! Who what!? Gulp!"
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/level1/13.jpg">
"Gulp! I don't care! I want you to impregnate me! Gulp! You're the male I've always dreamed of..."
<</linkappend>>
<</linkappend>>
[[Back to the forest|Enter the forest]]
<</if>>
<</replace>><<remove "#premierePhrase">><<remove ".cast-spell-lien">><<script>>
window.scrollTo(0, document.body.scrollHeight);
<</script>><</link>></span>
<span id="contenu"></span>
<span class="cast-spell-lien"></span>
<</if>>
<<if _randomEnemy == 1>>
<span id="premierePhrase">A bizarre, big-titted bipedal sheep appears !
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Sheep/1.jpg">
</span>
[[Continue to walk|FightForest1]]
<span class="cast-spell-lien"><<link "🪄 Cast the spell...">><<replace #contenu>>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Spell.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<<set _randomSpell = Math.floor(Math.random() * 99)>>
<<if _randomSpell >= 80>>
<<set $Mana -= 20>>
<span class="gradient-text">Cost 🧪: Mana - 20</span>
<span class="bounce"><span class="gradient-text"><H1>
The spell has failed. Would you like to try again?</H1></span></span>
[[Try again|FightForest1]]
[[Leave|Enter the forest]]
<</if>>
<<if _randomSpell < 80>>
<span class="gradient-text">Cost 🧪: Mana - 20</span>
<div class="purchase-container">
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Sheep/2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<div class="purchase-overlay">
<div class="magic-effect-container">
<div class="magic-circle"></div>
<div class="magic-aura"></div>
<div class="magic-rays"></div>
<div class="magic-energy"></div>
</div>
</div>
</div>
The sheep gradually transforms into a human female.. Well, still with strange sheep ears, and walking on all four...
<<set $Mana -= 20>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Sheep/3.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
"Lick lick.... She doesn't speak, but clearly wants something..."
<<run incrementQuestProgress("Transform 5 women for the witch.")>>
<<set $CaptureForest += 1>>
<<linkappend "Show her your cock">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Sheep/5.jpg">
At least she seems to behave like a human. Mesmerized by your thick manhood, she gazes at you intensely.
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Sheep/6.jpg">
Probably remembering skills she had when she was totally human, she puts your cock between her beautiful tits, squeezes them and starts to suck on it like a pro!
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Sheep/6.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
Only grabbing it with her tits, she deepthroats your cock avidly while gazing at your eyes as if you were her god. You're in heaven!
<<linkappend "Cumming">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Sheep/7.jpg" id="ShakeHit">
You can't resist and erupt in her mouth. She doesn't hesitate and greedily feasts on your semen as if it was the best food she ever had!
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Sheep/7a.jpg" id="ShakeHit">
Her mouth still filled with sperm, she used her voice for the first time, to beg you to fuck her!
<<linkappend "Fuck her">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Sheep/8.jpg">
You take her doggystyle and she enjoys it a lot, jumping on your big cock! Clearly she wants more.
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Sheep/8a.jpg">
Grabbing her perfect ass, you bang her pussy mercilessly, watching her open, welcoming asshole. The view is so hot that you don't last long...
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Sheep/9.jpg">
She moans with deep satisfaction as you ejaculate another huge load in her wet pussy, frustrated not to have even time to test her anus.
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Sheep/10.jpg">
It'll be for another time. Your balls are empty, and it was so good the were-ship lost her mind. You're not sure she'll recover it, the witch's spell is not perfect...
<</linkappend>>
<</linkappend>>
<</linkappend>>
[[Back to the forest|Enter the forest]]
<</if>>
<</replace>><<remove "#premierePhrase">><<remove ".cast-spell-lien">><<script>>
window.scrollTo(0, document.body.scrollHeight);
<</script>><</link>></span>
<span id="contenu"></span>
<span class="cast-spell-lien"></span>
<</if>>
<<if _randomEnemy == 2>>
<span id="premierePhrase">A strange bipedal Bunny appears ! Wait, she's wearing a corset??
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Bunny/0.jpg">
</span>
[[Continue to walk|FightForest1]]
<span class="cast-spell-lien"><<link "🪄 Cast the spell...">><<replace #contenu>>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Spell.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<<set _randomSpell = Math.floor(Math.random() * 99)>>
<<if _randomSpell >= 80>>
<<set $Mana -= 20>>
<span class="gradient-text">Cost 🧪: Mana - 20</span>
<span class="bounce"><span class="gradient-text"><H1>
The spell has failed. Would you like to try again?</H1></span></span>
[[Try again|FightForest1]]
[[Leave|Enter the forest]]
<</if>>
<<if _randomSpell < 80>>
<span class="gradient-text">Cost 🧪: Mana - 20</span>
<div class="purchase-container">
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Bunny/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<div class="purchase-overlay">
<div class="magic-effect-container">
<div class="magic-circle"></div>
<div class="magic-aura"></div>
<div class="magic-rays"></div>
<div class="magic-energy"></div>
</div>
</div>
</div>
The bunny gradually transforms into a human... Well, a human with long rabbit ears...
<<set $$Mana -= 20>>
"Ohh!"
<<set $CaptureForest += 1>>
<<run incrementQuestProgress("Transform 5 women for the witch.")>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Bunny/2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
"The woman can't speak, obviously, but rubs her beautiful breasts as she gazes at you intensely."
<<speech "You">>"She wants something? How can I communicate with her. Maybe she's hungry? What does a rabbit eat?"<</speech >>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Bunny/3.png">
You are certain she wants to eat something. She smiles, you must have understood!
<<set $CaptureForest += 1>>
<<linkappend "Give her a carrot">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Bunny/4.jpg">
As you retrieve a wild carrot, the rabbit-woman gets on all four and open her mouth, drooling like a starving beast. You were right!
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Bunny/5.png">
But she surprises you and stick the big carrot directly in her pussy, moaning in pleasure!
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Bunny/6.webp">
She's losing her mind masturbating with this big thing.
<<linkappend "Deeper!">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Bunny/7.png" id="ShakeHit">
She cries in ecstasy as you help her to push it deeper! She rapidly has an orgasm but won't say any word. The witch's potion can't restore their memory...
<</linkappend>>
<</linkappend>>
[[Back to the forest|Enter the forest]]
<</if>>
<</replace>><<remove "#premierePhrase">><<remove ".cast-spell-lien">><<script>>
window.scrollTo(0, document.body.scrollHeight);
<</script>><</link>></span>
<span id="contenu"></span>
<span class="cast-spell-lien"></span>
<</if>>
<<if _randomEnemy == 3>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/rose.jpg" >
<<if getQuestProgress("Bring 20 roses to Amy.") >= 1>>
<<linkappend "Pick 5 roses">>
<<run incrementQuestProgress("Bring 20 roses to Amy.",5)>>
<<speech "You">>*I'll ask to massage her...*<</speech>>
<</linkappend>>
<</if>>
[[Continue to walk|FightForest1]]
[[Leave|Enter the forest]]
<</if>>
<style>
.bounce {
display: inline-block;
animation: bounce 0.5s infinite;
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
/* Purchase container */
.purchase-container {
position: relative;
overflow: hidden;
margin-bottom: 10px;
}
.purchase-image {
animation: pulse 0.8s ease-in-out;
}
.purchase-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
@keyframes pulse {
0% { filter: brightness(1); }
50% { filter: brightness(1.8); }
100% { filter: brightness(1); }
}
/* Magic effects container */
.magic-effect-container {
position: absolute;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
z-index: 10;
overflow: hidden;
}
/* Main magic circle */
.magic-circle {
position: absolute;
width: 10px;
height: 10px;
border-radius: 50%;
background-color: rgba(100, 200, 255, 0.1);
box-shadow: 0 0 15px 8px rgba(100, 200, 255, 0.4),
inset 0 0 15px 8px rgba(100, 200, 255, 0.4);
border: 3px solid rgba(150, 230, 255, 0.7);
transform: scale(0);
opacity: 0;
animation: circleExpand 2s forwards;
}
@keyframes circleExpand {
0% {
transform: scale(0) rotate(0deg);
opacity: 0;
}
20% {
opacity: 0.95;
}
70% {
transform: scale(20) rotate(180deg);
opacity: 0.8;
border-width: 3px;
}
100% {
transform: scale(30) rotate(360deg);
opacity: 0;
border-width: 1px;
}
}
/* Magic circle after element - FIXED POSITIONING */
.magic-circle::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 130%;
height: 130%;
border-radius: 50%;
border: 2px dashed rgba(200, 240, 255, 0.6);
transform: translate(-50%, -50%);
animation: rotateCircle 3s linear infinite;
}
@keyframes rotateCircle {
0% { transform: translate(-50%, -50%) rotate(0deg); }
100% { transform: translate(-50%, -50%) rotate(360deg); }
}
/* Magic rays */
.magic-rays {
position: absolute;
width: 200%;
height: 200%;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0.5) rotate(0deg);
background:
repeating-conic-gradient(
rgba(150,230,255,0) 0deg,
rgba(150,230,255,0) 18deg,
rgba(150,230,255,0.3) 20deg
);
border-radius: 50%;
opacity: 0;
animation: raysEffect 2.5s forwards;
animation-delay: 0.5s;
}
@keyframes raysEffect {
0% {
opacity: 0;
transform: translate(-50%, -50%) scale(0.5) rotate(0deg);
}
20% {
opacity: 0.7;
transform: translate(-50%, -50%) scale(0.7) rotate(30deg);
}
80% {
opacity: 0.4;
transform: translate(-50%, -50%) scale(1) rotate(70deg);
}
100% {
opacity: 0;
transform: translate(-50%, -50%) scale(1.2) rotate(90deg);
}
}
/* Magic aura */
.magic-aura {
position: absolute;
width: 100%;
height: 100%;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0.5);
border-radius: 50%;
background: radial-gradient(
ellipse at center,
rgba(100,200,255,0.4) 0%,
rgba(100,200,255,0.1) 50%,
rgba(100,200,255,0) 70%
);
opacity: 0;
filter: blur(5px);
animation: auraPulse 2s forwards;
animation-delay: 0.2s;
}
@keyframes auraPulse {
0% {
opacity: 0;
transform: translate(-50%, -50%) scale(0.5);
}
30% {
opacity: 0.8;
transform: translate(-50%, -50%) scale(1);
}
70% {
opacity: 0.6;
transform: translate(-50%, -50%) scale(1.5);
}
100% {
opacity: 0;
transform: translate(-50%, -50%) scale(2);
}
}
/* Blue glow effect */
.purchase-container::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(100,200,255,0.1);
animation: blueGlow 2.5s forwards;
}
@keyframes blueGlow {
0% {
backdrop-filter: blur(0px);
background: rgba(100,200,255,0);
}
30% {
backdrop-filter: blur(3px);
background: rgba(100,200,255,0.4);
}
70% {
backdrop-filter: blur(2px);
background: rgba(150,230,255,0.2);
}
100% {
backdrop-filter: blur(0px);
background: rgba(100,200,255,0);
}
}
.gradient-text {
background: linear-gradient(90deg, red, orange, yellow, green, orange, red, violet);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
display: block;
margin-left: 10ch;
}
.bounce {
display: inline-block;
animation: bounce 0.5s infinite;
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
</style><<set _randomImg = Math.floor(Math.random() * 11)>>
<<set _phrases to [
"Do you like watching me cook? How bizarre, am I that talented? Or is it because of some of my moves? I confess it's sometimes difficult, with my two fun bags in the way giggle!",
"Do you want to go for a walk? We both need to stretch... our legs, I think. And everyone loves watching me walking I don't know why giggle.",
"No no no, you will not taste until it is finished, you gourmand! You talked about the meal, right?",
"I'm a little hot, what about you? Make me think to put on something less warm.",
"Oh... I'm asleep on my feet I'm going to sleep here and now... mmmhh... What about you, you don't want to sleep? What do you have in mind right now? Nevermind, don't worry about me you can also use the bed...",
"Have I already shown you my dancing for the plants in the garden? Giggle all true men love it, what about ya?",
"...snore...",
"The more roses I receive from my suitors, the more I am in love, hahaha! That's simple!",
"HAHAHA! Yes, I'm bit high, I drank another glass of Volka Milk. I can't get enough of this drink and its special ingredient... You'll never guess what it is!",
"do you like my nightie? Sorry if it's a bit audacious, but I've only that.",
"I'm going to sleep on the sofa, you can use my bed. Sorry I'm too tired to change the sheets I hope it doesn't bother you. See you later...",
"Why are you watching me sleep? I'm not an extraordinary person!"
]>>
<<print '<video width="100%" height="30%" playsinline autoplay loop muted>' +
'<source src="MagicWorldOfBimbo/Village/AmyHouse/Find/' + _randomImg + '.mp4" type="video/mp4">' +
'Your browser does not support the video tag.</video>'>>
<<typeNEW 20ms>>
<<speech "Amy">><<print _phrases[_randomImg]>><</speech>>
<<include Quest-Amy>>
<<if $Scrolltitsfree == 1 and _randomImg == 2>>
<<linkappend2 "🪄 Liberation Charm (Free tits)">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Spell.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/AmyHouse/Find/2free.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>I suddenly feel very hot...<</speech>>
<</linkappend2>>
<</if>>
<<if $Scrolltitsfree == 1 and _randomImg == 1>>
<<linkappend2 "🪄 Liberation Charm (Free tits)">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Spell.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/AmyHouse/Find/1free.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>I suddenly feel very hot...<</speech>>
<</linkappend2>>
<</if>>
[[Walking with Amy]]
[[Amy's House]]
[[Back to the City|Village]]
<</typeNEW>><video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/A5.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 30ms>>\
<<speech "Elena">>Follow me, I've discovered these beautiful, deep red berries growing wild. We need to regain some strength, and they look edible and tasty.
<</speech>>
[[Eat berries]]
<</typeNEW>><video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/Park/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>As the village's herbalist, my duty is to take care of the flowers and look after the plant supplies. Yes I know, I don't look like an herbalist giggle, but that's my work and I love it! Nobody else could go to the forest for these roses... Unless...<</speech>>
<<include Quest-Amy>>
<div id="choices">
<<linkappend2 "I want to fuck you...💀" "disableScroll" >>
<<replace "#choices" t8n>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/Park/E1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>Are you serious? I am very disappointed in you. All men are the same. Always thinking about degrading things. I don't know what I'm doing here. <</speech>>
<<smoothscroll>>
<<linkappend2 "But!!">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/Park/Leave.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>Perv! I'm leaving... And don't stare at my butt like that!
<</speech>>
[[Return to the village|Village]]
<</linkappend2>>
<</replace>>
<</linkappend2>>
<<linkappend2 "Can you show me how you work?" "disableScroll">>
<<replace "#choices" t8n>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/Park/B1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>This might sound odd, but you've got to show plants that you love them. For this, you have to dance beside them. I've discovered it works better when I get on my knees and shake my booty just like that, see? Wanna help and dance with me?<</speech>>
<<smoothscroll>>
<<linkappend2 "Do you show the plants in the forest you love them too?" t8n>>
<<speech "Amy">>Yes, that's also why I went, but it's too dangerous. I hope you'll be able to bring me back there, and I'll dance for them just like that.<</speech>>
<</linkappend2>>
<<linkappend2 "I don't like dancing..." t8n>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/Park/B2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>Oh you don't like when I shake my butt? Really sorry sir, it's true sometimes people think this dance is vulgar. But... if I take off my top, will you dance with me?<</speech>>
<<linkappend2 "We have a deal!" t8n>>
<<if $AmyRelation > 1>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/Park/Topless2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<else>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/Park/Topless1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<endif>>
<<script>>
window.scrollTo(0, document.body.scrollHeight);
<</script>>
<<speech "Amy">>You're amusing. Enjoy the view then, I know the plants love watching my big round breasts as they bounce just like that. Do you like my titties, aren't they too small for you? Oh, are you getting a hard-on?<</speech>>
<<if $FanCode == 1 or $AmyRelation > 1>>[[💦Blowjob Amy |Blowjob Amy]]
<<else>>
<div class="disabled-button">Blowjob Amy. (Need Amy: ❤️❤️🖤 or <a href="https://doctorbimbo.itch.io/magic-world-of-bimbo" target="blank">Support Us</a>)</div>
<<endif>>
[[Back to the City|Village]]
<</linkappend2>>
<</linkappend2>>
<</replace>>
<</linkappend2>>
<<script>>
window.scrollTo(0, document.body.scrollHeight);
<</script>>
</div><<set $AmyDrink += 1>>
<<typeNEW 30ms>>
<<set _randomImg = Math.floor(Math.random() * 11)>>
<<set _phrases to [
"I love dancing in this bar. Elena and I have much fun at night...",
"I love dancing in this bar. It feels just like home to me. All the customers love see me moving you know? I'm such a lucky girl.",
"And you, do you like milk? And how do you prefer to drink it? I can't do without it, I love it in any form.",
"A witch lives in the forest; she might be able to help you remember who you are. But don't let her manipulate you, she loves captivate men with her bouncing big udders. When you're in front of her, think about mine!",
"Please kill the wolf and I will be indebted to you... I'll do whatever you want.",
"I've been coming to this bar for years! The owner immediately liked me, and always offers me free drinks, I don't know why giggle!",
"I look serene, but I'm still afraid. I don't like the wolf, in the forest... I fear it's a werewolf. Will you protect me?.",
"I love my sisters, and you?❤️If you're kind, I'll tell them you're a good boy. But I'm hotter than them, don't you think so?",
"I promise, if you kill the wolf, we will go for a walk in the forest. What will happen then? Oh I can imagine so many exciting things... hmmmm.",
"Milk has many benefits for the skin. It makes my tits softer, and I suspect they grow bigger! In reality I love oiling them with it as much as drinking it.",
"I love how they infuse the milk with vanilla before mixing the drink. Or is it vanillla? Anyway I love the taste, it's so yummy.",
"Mines offer work to earn money quickly.",
"I'm wondering when the forest will be secure. The beasts are so strange there, some magic may be at work."
]>>
<<print '<video width="100%" height="30%" playsinline autoplay loop muted>' +
'<source src="MagicWorldOfBimbo/Village/Milk/Videos/' + _randomImg + '.mp4" type="video/mp4">' +
'Your browser does not support the video tag.</video>'>>
<<speech "Amy">><<print _phrases[_randomImg]>><</speech>>
<<if $AmyDrink > 1>>
<<set _randomImg2 = Math.floor(Math.random() * 15)>>
<<set _phrases2 to [
"All this white fluid filling my stomach makes me feel alive",
"Drink with me, this milk can make your semen more potent and taste stronger... Why am I saying this!?😅",
"Are you looking at my breasts? Hey don't be ashamed, I know how big and sexy they are, it must be so difficult for you...",
"Have you heard about the King's parties? I was told they're super hot. The king has... very specific tastes",
"I don't know what they put in the milk, but sometimes I feel my breasts getting bigger. Don't say that to Elena!",
"Is it me or Elena who has the biggest breasts? Be honest, it's me, isn't it? It's thanks to my massage oil!",
"Be honest. Do you find me pretty? Not too vulgar?",
"I'm always hot here... I always wish I could remove my top... Just kidding!",
"I always want to dance when I'm here, to feel the gaze of the customers on my body...",
"I shouldn't drink that much, I know how it always ends up when I'm drunk...",
"Oops, I forgot my panties, don't look.",
"Okay, I admit it, I didn't wear any panties, do you like that?",
"Shall we do something else?",
"Are you getting me another round?",
"..."
]>>
<<print '<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Milk/' + _randomImg + '.jpg">'>>
<<speech "Amy">><<print _phrases2[_randomImg2]>><</speech>>
<</if>>
<<if $AmyDrink > 2>>
<<speech "Amy">>My god, I think I drank too much...<</speech>>
<<set _randomImgTits = Math.floor(Math.random() * 6)>>
<<linkappend2 "show me your breasts to prove you haven't drunk too much">>
<<print '<video width="100%" height="30%" playsinline autoplay loop muted>' +
'<source src="MagicWorldOfBimbo/Village/Milk/Videos/Showtits/' + _randomImgTits + '.mp4" type="video/mp4">' +
'Your browser does not support the video tag.</video>'>>
<<speech "Amy">>Too easy, ha, ha here they are! My huge, round, sexy tits!!!
Ooops what am I doing, you got me hahaha you naughty boy! A chance it's not the first time I put them on display in this place giggle.<</speech>>
<</linkappend2>>
<</if>>
[[Drink again|Glass of Milk]]
[[Walking with Amy]]
[[Amy's House]]
<</typeNEW>>📜<span class="gradient-text">The true game starts now.
💖- Deepen your connection with characters to reveal options.
⚔ - Become the village's savior.
👑 - Piece together the fragments of your identity...</span>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/3.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 30ms>>\
<<speech "Amy">>Great, follow me, it's just around the corner up there.
Why are you staying behind? Are you that exhausted by the escape?
- Nevermind. The village has a shop, a tavern, and readily available work if you want earn money. You need money you know?
<</speech>>
<<linkappend2 "The view is... I mean, this city seems really nice.">>\
<<speech "Amy">>Yes, this is a beautiful city, teeming with cute and kind women, but we are often attacked by creatures.<</speech>>
<</linkappend2>>
[[Go to the Tavern with Amy|TavernFirstDrink]]
<</typeNEW>>
<style>
.gradient-text {
background: linear-gradient(90deg, red, orange, yellow, green, orange, red, violet);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
</style>
<<playaudio "MagicWorldOfBimbo/Music/TheGuild.mp3">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Guild/0.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Guild Master">>Welcome, adventurer! I see you're not prepared for military missions for the moment, but If you're looking for some well-paying small jobs, you're at the right place.
<</speech>>
<<include Quest-Guild>>
<<linkappend2 "Tell me more about the guild.">>
<<vi "Village/Guild/1.mp4">><</vi>>
<<speech "Guild Master">>We assembled an alliance of warriors, scholars and craftsmen to help our community to thrive... and make money for those who are courageous enough to work with us.<</speech>>
<<linkappend2 "That could be me!">>
<<vi "Village/Guild/0.mp4">><</vi>>
<<speech "Guild Master">>Maybe... We publish new jobs all the time, to detect and make emerge the best talents. This, to assemble a force able to cleanse the caverns of the demon scourge!<</speech>>
<<linkappend2 "Wow, ambitious!">>
<<vi "Village/Guild/1.mp4">><</vi>>
<<speech "Guild Master">>Can we count on you? The King's eyes are upon us. For the moment, only the lonely farmer out of the town requires an assistance that seems to be in your capabilities.<</speech>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
[[Farmer Mission|Farmer Girl]]
<<if $FarmerSeedCount > 2>>
[[Guild Master]]
<</if>>
<<if $FarmerSeedCount > 4>>
[[Warrior Girl]]
<</if>>
<div class="disabled-button variation-4" data-message="🌽 Help the farmer to unlock!">Guild Master</div>
<<if $FarmerSeedCount < 2>>
<div class="disabled-button variation-4" data-message="⚔️ (In Dev)Need to clear the sewers of enemies.">Warrior Mission</div>
<</if>>
<div class="disabled-button variation-4" data-message="⚔️ (In Dev) Need to clear the sewers of enemies.">Ninja Mission</div>
<div class="disabled-button variation-4" data-message="🎖️ (In Dev) Need 100 Guild's points!">King Mission</div>
[[Back to the City|Village]]
Next Mission :
Sewer
Spy
Build (Stone, Wood)
Transport
Satanist<<include "Music">>
-----------------------------------
<<speech "Character">>I specialize in armor, what do you need?
<</speech>>
-------------------------------
<audio src="medieval-story-by-frank-schroeter-from-filmmusic-io.mp3" controls autoplay>
Votre navigateur ne supporte pas l'audio.
</audio>
---------------------------------
<<shakescreen "300ms">>
<<shake 400ms>>This text will shake for 2 seconds.<</shake>>
<<shake 1s>><img width="100%" height="30%" src="MagicWorldOfBimbo/Amy.jpg" class="damage-effect">.<</shake>>
----------------------------------
Bounce du text :
<span class="bounce">Ouch !!</span>
en bas :
<style>
.bounce {
display: inline-block;
animation: bounce 0.5s infinite;
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
</style>
-------------------------------------
Quest :
<<set $activeQuests.push({
name: "Trouver l'épée magique",
progress: 0,
total: 1,
completed: false
})>>
et
<<set $activeQuests[0].progress++>>
<<if $activeQuests[0].progress >= $activeQuests[0].total>>
<<set $activeQuests[0].completed = true>>
<</if>><<set $Life += 1>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 30ms>>\
<<speech "Elena">>With my sisters, we were looking for rare herbs but we got lost in the forest...<</speech>>
<<linkappend2 "Who are your sisters?" t8n>>\
<<speech "Elena">>There's my cute little sister Amy who healed you, with her bright eyes and contagious laughter, and my warrior sister Sym, a bit crazy but very strong.<</speech>>
<</linkappend2>>\
[[Talk to Elena]][[Talk to Amy]][[Talk to Sym]]
<</typeNEW>>
<<run addQuest("Find the village", 1)>>
<<script>>
if (window.audio) {
window.audio.pause();
window.audio.currentTime = 0;
delete window.audio;
}
window.audio = new Audio('MagicWorldOfBimbo/Music/1Forest.mp3');
window.audio.loop = true;
window.audio.volume = $("#musicVolumeSlider").length > 0 ?
($("#musicVolumeSlider").val() / 100) : State.variables.musicVolume / 100 ;
window.audio.play().catch(function(error) {
console.log("Audio playback failed:", error);
});
<</script>><video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/AmyS3A.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 30ms>>\
<<speech "Amy">>Oh no! It's the strange wolf, run everyone! Faster... girls, run!
<</speech>>
[[Running in their wake?]]
<</typeNEW>><<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Spell.wav');
soundEffect.volume = $("#volumeSlider").length > 0 ?
($("#volumeSlider").val() / 100) :
State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<<shakescreen "1s">>
<span class="gradient-text">You are casting a magic spell. GuNakeeeed !!!!</span>
<video width="100%" height="30%" playsinline autoplay loop muted >
<source src="MagicWorldOfBimbo/Intro/Sym/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Sym">>My clothes have disappeared! ! Pervvv !!!<h2>Uhhaaaaahhhh...</h2><</speech>>
<<linkappend2 "❤️ You are so cute !">>
<video width="100%" height="30%" playsinline autoplay loop muted >
<source src="MagicWorldOfBimbo/Intro/Sym/1b.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Sym">>Oh! Really, Thanks..."<</speech>>
<</linkappend2>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Sym/2b.jpg" class="damage-effect">
<<speech "Sym">>You're not getting away with this, let's fight!!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<span class="attack-effect">Hit!</span>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Sym/2c.jpg" id="ShakeHit">
<<speech "Sym">>How did you do that little troll!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Sym/3a.jpg">
<<speech "Sym">>Is that not enough for you? Then eat my foot!!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Sym/3b.jpg" id="ShakeHit">
<<speech "Sym">>You're not so smug now! Are you falling down?<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Sym/3c.jpg" class="damage-effect">
<<speech "Sym">>Sleep well!<</speech>>
[[💀Restart|NewStart]]
<</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>>
<style>
.gradient-text {
background: linear-gradient(90deg, red, orange, yellow, green, orange, red, violet);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
display: block;
margin-left: 10ch;
}
.attack-effect {
display: inline-block;
font-weight: bold;
color: red;
animation: attack 0.5s infinite;
}
@keyframes attack {
0% {
transform: translateX(0) translateY(0);
color: red;
text-shadow: 0 0 5px rgba(255, 0, 0, 0.8);
}
25% {
transform: translateX(-5px) translateY(-5px);
color: darkred;
text-shadow: 0 0 10px rgba(255, 0, 0, 0.8);
}
50% {
transform: translateX(5px) translateY(5px);
color: orange;
text-shadow: 0 0 15px rgba(255, 165, 0, 0.8);
}
75% {
transform: translateX(-5px) translateY(-5px);
color: yellow;
text-shadow: 0 0 20px rgba(255, 255, 0, 0.8);
}
100% {
transform: translateX(0) translateY(0);
color: red;
text-shadow: 0 0 5px rgba(255, 0, 0, 0.8);
}
}
</style><<speech "Witch">>Oh, that's great, come follow me and listen. Where did I put it? Oh I know, it's hidden in my cleavage ha,ha. With this scroll, you'll be able to learn your first spell!
<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/Scroll/1.jpg">
<<speech "Witch">>Focus on my mouth please. It's here. OK, it's very simple, you have to repeat 'BiBialu Abra' twice.
<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/Scroll/2.png">
<<speech "Witch">>But be careful! You have to raise 2 fingers towards the sky. Always better with 2 fingers...
<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/Scroll/3a.webp">
<<speech "Witch">>Once the blue light sparks on your fingers, aim at the target, and it will transform... well, if I'm correct. Fingers crossed. In any case, you'll suck their bestiality out and I'll be able to use it to... nevermind.
<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/Scroll/4.png">
<<speech "Witch">>I'll wait for your success. Don't let me and the villagers down, think about me.
<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/Scroll/0.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<set $Mana += 20>>
<<speech "Witch">>Here, here's the scroll, good luck to you! Rescue more than 5 women and then return to me.<</speech>>
<<run addQuest("Transform 5 women for the witch.", 5)>>
[[📜Take the parchment and leave|Enter the forest]]
<</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/AmyS1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 30ms>>\
<<speech "Amy">>But sorry, I can't get a massage right now.
It's dangerous here, but I also think I put on too much of that rose oil on my chest before I went out. It looks a bit swollen... And it's too sensitive. I bet you understand.
<</speech>>
<<linkappend2 "Where we can find roses that make chests swell???" t8n>>\
<<speech "Amy">>In the 'deep forest'... In fact, it's why we are lost, I was running low on rose and I thought I could find this sector alone...<</speech>>\
<</linkappend2>>\
[[And how do you give yourself a massage?]]
<</typeNEW>><img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/EndForest.png" class="damage-effect">
<span class="attack-effect">
"The wolf is attacking you!"
</span>
[[Dream]]
<style>
.damage-effect {
animation: colorChange 2s infinite;
}
@keyframes colorChange {
0% { filter: sepia(50%) hue-rotate(-50deg) saturate(200%); } /* Rouge */
33% { filter: sepia(50%) hue-rotate(60deg) saturate(200%); } /* Vert */
66% { filter: sepia(50%) hue-rotate(180deg) saturate(200%); } /* Bleu */
100% { filter: sepia(50%) hue-rotate(-50deg) saturate(200%); } /* Retour au rouge */
}
.attack-effect {
display: inline-block;
font-weight: bold;
color: red;
animation: attack 0.5s infinite;
}
@keyframes attack {
0% {
transform: translateX(0) translateY(0);
color: red;
text-shadow: 0 0 5px rgba(255, 0, 0, 0.8);
}
25% {
transform: translateX(-5px) translateY(-5px);
color: darkred;
text-shadow: 0 0 10px rgba(255, 0, 0, 0.8);
}
50% {
transform: translateX(5px) translateY(5px);
color: orange;
text-shadow: 0 0 15px rgba(255, 165, 0, 0.8);
}
75% {
transform: translateX(-5px) translateY(-5px);
color: yellow;
text-shadow: 0 0 20px rgba(255, 255, 0, 0.8);
}
100% {
transform: translateX(0) translateY(0);
color: red;
text-shadow: 0 0 5px rgba(255, 0, 0, 0.8);
}
}
</style><img width="100%" height="30%" src="MagicWorldOfBimbo/Village/1.jpg">
<<typeNEW 30ms>>\After 4 hours running, you escaped the wolf and found your way across the forest. It is really an eerie place, with strange and menacing animals. At long last, you arrive at a village. A girl is coming your way. She is...
[[Wait for the girl]]
<</typeNEW>>
<<set $activeQuests[0].progress++>>
<<if $activeQuests[0].progress >= $activeQuests[0].total>>
<<set $activeQuests[0].completed = true>>
<</if>><div id="video-container" style="width: 100%; height: 30%;">
<video id="video-player" width="100%" height="100%" playsinline autoplay muted>
<source src="MagicWorldOfBimbo/Forest/Witch/Earn1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<script>
// Liste des vidéos à jouer en séquence
const videoSources = [
"MagicWorldOfBimbo/Forest/Witch/0a.mp4",
"MagicWorldOfBimbo/Forest/Witch/Earn1.mp4",
"MagicWorldOfBimbo/Forest/Witch/yes.mp4"
// Ajoutez d'autres vidéos selon vos besoins
];
let currentVideoIndex = 0;
const videoPlayer = document.getElementById("video-player");
// Fonction pour charger la vidéo suivante
function loadNextVideo() {
currentVideoIndex = (currentVideoIndex + 1) % videoSources.length;
videoPlayer.src = videoSources[currentVideoIndex];
videoPlayer.play().catch(error => {
console.log("Erreur de lecture vidéo:", error);
});
}
// Passer à la vidéo suivante lorsque la vidéo actuelle se termine
videoPlayer.addEventListener("ended", loadNextVideo);
// Gérer les erreurs de lecture
videoPlayer.addEventListener("error", () => {
console.log("Erreur de lecture pour la vidéo:", videoSources[currentVideoIndex]);
loadNextVideo(); // Passer à la suivante en cas d'erreur
});
</script>// Code pour le passage qui gère la musique
<<script>>
if (!window.audio) {
window.audio = new Audio('medieval-story-by-frank-schroeter-from-filmmusic-io.mp3');
window.audio.loop = true;
window.audio.volume = 0.3;
}
// Créer un objet pour gérer l'état de la musique
if (!window.musicState) {
window.musicState = {
volume: 0.3,
isPlaying: false
};
}
// Ajouter les contrôles au menu de gauche
$(document).ready(function() {
let controls = `
<div id="music-controls" style="padding: 10px;">
<h3>Contrôles Musique</h3>
<button id="toggleMusic" style="margin: 5px;">▶️ Play/Pause</button><br>
<input type="range" id="volumeSlider" min="0" max="100" value="30" style="width: 100%;">
<span id="volumeValue">30%</span>
</div>
`;
// Ajouter les contrôles au menu de gauche (UI-bar)
$("#ui-bar").append(controls);
// Gérer le bouton play/pause
$("#toggleMusic").click(function() {
if (window.audio.paused) {
window.audio.play();
window.musicState.isPlaying = true;
} else {
window.audio.pause();
window.musicState.isPlaying = false;
}
});
// Gérer le contrôle du volume
$("#volumeSlider").on('input', function() {
let volume = $(this).val() / 100;
window.audio.volume = volume;
window.musicState.volume = volume;
$("#volumeValue").text($(this).val() + "%");
});
});
<</script>><<typeNEW 35ms>>\
You wake up in a forest, the sun's rays filtering through the leaves.
Suddenly, a beautiful elf emerges from the bushes.
<</typeNEW>>
<div class="video-container">\
<video width="100%" height="30%" playsinline autoplay loop muted >
<source src="MagicWorldOfBimbo/Intro/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<div class="fade-overlay"></div>\
</div>\
<<typeNEW 30ms>>\
<<speech "Elena">>Hey mister, how are you? Are you awake? I'm Elena... We need help...
<</speech>>
<<linkappend2 "...Where am I?">>\
<video class="video" autoplay muted playsinline loop>\
<source src="MagicWorldOfBimbo/Intro/AmyS4Dream.mp4" type="video/mp4">\
</video>\
<<speech "Amy">>We found you in these woods, you were unconscious. I took care of you and used my skills to heal you. Now you are awake, please, help us. We are lost!<</speech>>\
<</linkappend2>>\
[[Help her]]
<</typeNEW>>
<style>
.video-container {
position: relative;
width: 100%;
height: 100%;
}
.video {
width: 100%;
height: 100%;
}
.fade-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
animation: fadeToBlack 4s infinite;
pointer-events: none;
z-index: 1;
}
@keyframes fadeToBlack {
0% { background-color: rgba(0, 0, 0, 1); }
25% { background-color: rgba(0, 0, 0, 0.1); }
50% { background-color: rgba(0, 0, 0, 0.8); }
75% { background-color: rgba(0, 0, 0, 0.2); }
100% { background-color: rgba(0, 0, 0, 1); }
}
</style> <<script>>
$(document).ready(function() {
let slider = document.getElementById("musicVolumeSlider");
if (slider) {
/* Force la position visuelle du slider à la valeur actuelle */
slider.value = State.variables.musicVolume;
/* Met à jour le texte affiché */
$('#musicVolumeValue').text(slider.value);
}
});
<</script>>
<h2><u>Music Volumes</u></h2>
<div style="margin-bottom: 20px;">
<label for="musicVolumeSlider">Musique: <span id="musicVolumeValue"><<print $musicVolume>></span>%</label>
<input type="range" id="musicVolumeSlider"
min="0" max="100" value="<<print $musicVolume>>"
style="width: 100%; border: none; outline: none; background: transparent;"
oninput="
/* Vérifier si l'objet audio existe avant de modifier son volume */
if (window.audio) {
window.audio.volume = this.value/100;
}
$('#musicVolumeValue').text(this.value);
SugarCube.State.variables.musicVolume = Number(this.value);
">
</div>
<hr>
<h2><u>Typewriter Settings</u></h2>
(stop text writing)
<div class="option-line">
<label for="toggleTypewriterOption">✍️ Typing :</label>
<button id="toggleTypewriterOption" style="padding: 5px 10px;"
onclick="(function(){
setup.typewriterEnabled = !setup.typewriterEnabled;
this.textContent = setup.typewriterEnabled ? 'ON' : 'OFF';
return false;
})">
<<print setup.typewriterEnabled ? 'ON' : 'OFF'>>
</button>
</div>
<<script>>
$(document).on('click', '#toggleTypewriterOption', function() {
setup.typewriterEnabled = !setup.typewriterEnabled;
$(this).text(`${setup.typewriterEnabled ? 'ON' : 'OFF'}`);
});
<</script>>
<hr>
<h2><u>Change Avatar</u></h2>
[[Avatar]]
<hr>
<h2><u>Languages :</u></h2>
<img src="MagicWorldOfBimbo/Flag.png" alt="Patreon" style="width: 100%; max-width: 500px; transition: transform 0.3s;">
<a href="https://adn700.com/Games/MagicTrans.php" target="_blank">
Translate the game here
</a><div id="test">\
After the <<link "first">>
<<replace "#test">>After the <<link "but I didn't do anything to you">>xxx
<<replace "#test">>After the <<link "third">>
<<replace "#test">>After the phase,
after passionate nights and intimate days1,<</replace>>
<</link>> phase, after passionate nights and intimate days2,<</replace>>
<</link>> phase,
after passionate nights and intimate days3,<</replace>>
<</link>> phase,<br> after passionate nights and intimate days0,
\</div>
<div id="choices">\
<<link "Tell the truth.">>
<<replace "#choices">>"Yavin 4," you murmur.<</replace>>
<</link>>
<<link "Lie.">>
<<replace "#choices">>"Dantooine," you murmur. "They're on Dantooine."<</replace>>
<</link>>
\</div><<if $gold >= 5>>\
<span style="color: #FFD700; display: flex; align-items: center; gap: 5px;">You paid 5 🪙</span>\
<<set $gold -= 5>>\
<<set $Mana = $ManaMax>>\
<<run $("#mana-progress").val($Mana)>>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/01-ShopBuy.ogg');
soundEffect.volume = $("#volumeSlider").val() / 100 || 0.3;
soundEffect.play();
<</script>>
<div class="purchase-container">
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/yes2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<div class="purchase-overlay">\
<div class="purchase-effect">POTION CONSUMED!</div>\
</div>\
</div>\
<<speech "Witch">>Thank you for your purchase. I love kind customers like you with big... purses.<</speech>>
<<else>>\
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/no2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Witch">><span class="bounce">Sorry, but you need at least 5 gold pieces</span>. Too bad, I'll drink it for you... Come back when you have enough money.<</speech>>
<</if>>\
[[Return to he Forest|Enter the forest]]
<style>
.bounce {
display: inline-block;
animation: bounce 0.5s infinite;
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
/* Purchase animation styles */
.purchase-container {
position: relative;
overflow: hidden;
margin-bottom: 10px;
}
.purchase-image {
animation: pulse 1s ease-in-out;
}
.purchase-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
pointer-events: none;
}
.purchase-effect {
color: #FFD700;
font-size: 2em;
font-weight: bold;
text-shadow: 0 0 10px #FFD700, 0 0 20px #FFD700;
background-color: rgba(0, 0, 0, 0.5);
padding: 10px 20px;
border-radius: 10px;
animation: fadeInOut 2s ease-in-out forwards;
transform: scale(0);
}
@keyframes pulse {
0% { filter: brightness(1); }
50% { filter: brightness(1.5); }
100% { filter: brightness(1); }
}
@keyframes fadeInOut {
0% { opacity: 0; transform: scale(0) rotate(-10deg); }
20% { opacity: 1; transform: scale(1.2) rotate(5deg); }
80% { opacity: 1; transform: scale(1) rotate(0); }
100% { opacity: 0; transform: scale(0.8); }
}
</style>// Ajouter une nouvelle quête
<<run addQuest("Sauver le village", "Éliminer les bandits qui menacent le village", 5, "principale")>>
// REFRESH QUEST :
<<run refreshQuestDisplay()>>
// Mettre à jour la progression d'une quête
<<run updateQuestProgress("Sauver le village", 3)>>
<<run updateQuestProgress("Become an elite in the guild.",10)>>
// Incrémenter la progression d'une quête
<<run incrementQuestProgress("Sauver le village")>>
// Vérifier la progression d'une quête
<<if getQuestProgress("Sauver le village") >= 3>>
Le chef des bandits commence à s'inquiéter...
<</if>>
// Vérifier si une quête est complétée
<<if isQuestCompleted("Sauver le village")>>
Les villageois vous acclament en héros !
<</if>>
// Marquer une quête comme complétée
<<run completeQuest("Sauver le village")>>
// Delete
<<run removeQuest("Bring 20 roses to Amy.")>>
Vous avez <<print questProgress("Bring 20 roses to Amy.")>> roses sur 20 pour Amy.
<span class="gradient-text">*** End of this Update ***</span>
Thank you for playing my little demo! I hope you had as much fun playing it as I had making it.
If you enjoyed it and would like to see more, please leave a comment below / Like. Your feedback is greatly appreciated!
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Relax/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>I will miss you very much.<</speech>>\
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Relax/2.mp4" type="video/mp4">
<source src="MagicWorldOfBimbo/Village/Relax/3.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>Look at my breasts one last time.❤️<</speech>>\
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Relax/3.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>You swear, I'll get a massage next time?<</speech>>\
[[Restart|NewStart]]
[[BONUS]]
<style>
.gradient-text {
background: linear-gradient(90deg, red, orange, yellow, green, orange, red, violet);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
</style><video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/AmyS3B.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 30ms>>\
<<speech "Amy">>Don't follow me, you idiot, run somewhere else!!
<</speech>>
[[Move eastwards]]
[[Move north]]
<</typeNEW>>Jump to the scene (Order by Updates (New to Old) :
<h6>-Not all the sex scenes are here.<br>
-You'll find many other small sex in the game.</h6>
<<vi "Village/Date/GoWoods/waterfall/S3.mp4">><</vi>>
[[Amy Waterfall Naked|🍆Naked]]
<hr><br>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Shop/Showtits/BJ1/3b.webp">
[[Seller Sex|SellerCastSEX]]
<hr><br>
<<vi "Village/AmyHouse/Massage/15.webp">><</vi>>
[[💦Rose Massage]]
<hr><br>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Intro/Bl-Elena/Anal/1.jpg">
[[Anal Sex Elena Forest|✨ Dream of anal sex reward!]]
<hr><br>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Date/Park/BJ/0.jpg">
[[Blowjob Amy]]
<hr><br>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Forest/Witch/TitsJob/1.mp4" type="video/mp4">
</video>
[[💦Tits-Semen]]
<hr><br>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/level1/4.jpg">
[[Sex after transform animals|FightForest1]]
<hr><br>
<<set _randomImg = Math.floor(Math.random() * 10)>>
<<print '<video width="100%" height="30%" playsinline autoplay loop muted>' +
'<source src="MagicWorldOfBimbo/Village/Shop/' + _randomImg + '.mp4" type="video/mp4" >' +
'Your browser does not support the video tag.</video>'>>
<<typeNEW 15ms>>
<<speech "Seller">>Hello sir! I specialize in armor, weapon, tools, and I've deep concern for a... job well done, especially with nice customers like you. I'm here to satisfy your needs, what do you want?
<</speech>>
<</typeNEW>>
<<typeNEW 1ms>>
<<if $miningpickaxe == 0>>
[[⛏️Bronze mining pickaxe (💰5po)|miningpickaxe]]
<</if>>
<<if $Armor == 0>>
[[🛡️Armor level 1 (Forest) (💰5po)|Armor1]]
<</if>>
<<if $Weapon == 0 && $Armor > 0 >>
[[🗡️Weapon level 1 (Deep-Forest) (💰10po)|Weapon1]]
<</if>>
<<if $Scrolltitsfree == 0>>
<div class="disabled-button variation-4" data-message="📜 Go to the Witch to learn spells..">Cast a spell</div>
<<else>>
[[🪄Cast Spell on Seller|SellerCastSEX]]
<<endif>>
[[Back to the City|Village]]
<</typeNEW>>"Dreaming..." <<timed 1s transition>> "Zzzzz..." <<next>>
<<set $Life to $LifeMax>>
<<run $("#life-progress").val($Life)>>
<<set _randomImg = Math.floor(Math.random() * 5)>>
<<set _phrases to [
"Oh you're awake! You slept well? Sorry I couldn't help watching you will you were dreaming. You look in good shape, full of... vitality. Shall we go for a walk?",
"Do you want a hug to wake you up properly?",
"I've planned a lot of different things for today: shopping, taking care of my flowers, and maybe a walk with you?",
"I thought of you last night. What did you dream about?",
"How about we start the day with a little massage?"
]>>
<<speech "Amy">><<print _phrases[_randomImg]>><</speech>>
<<print '<video width="100%" height="30%" playsinline autoplay loop muted>' +
'<source src="MagicWorldOfBimbo/Village/AmyHouse/Sleep/' + _randomImg + '.mp4" type="video/mp4">' +
'Your browser does not support the video tag.</video>'>>
<<next>>
<<if $Scrolltitsfree == 1>>
<<linkappend2 "🪄 Liberation Charm (Free tits)" "Text" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Spell.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<<print '<video width="100%" height="30%" playsinline autoplay loop muted>' +
'<source src="MagicWorldOfBimbo/Village/AmyHouse/Sleep/ShowTits/' + _randomImg + '.mp4" type="video/mp4">' +
'Your browser does not support the video tag.</video>'>>
<<speech "Amy">>Oh! Why i doing this ...Sorry...<</speech>>
<</linkappend2>>
<</if>>
[[Walking with Amy]]
[[Back to the City|Village]]
<</timed>><img width="100%" height="20%" src="MagicWorldOfBimbo/PresentationF95.jpg"><!-- Tableau des quêtes -->
<div id="quest-panel">
<h3>Quêtes</h3>
<div class="quest-list">
<<if $activeQuests && $activeQuests.length > 0>>
<<for _i to 0; _i < $activeQuests.length; _i++>>
<div class="quest-item">
<div class="quest-icon">📜</div>
<div class="quest-info">
<div class="quest-name"><<print $activeQuests[_i].name>></div>
<div class="quest-progress"><<print $activeQuests[_i].progress>>/<<print $activeQuests[_i].total>></div>
</div>
<div class="quest-status <<print $activeQuests[_i].completed ? 'completed' : 'in-progress'>>">
<<print $activeQuests[_i].completed ? "✓" : "">>
</div>
</div>
<</for>>
<<else>>
<div class="quest-item empty">
<div class="quest-icon">📜</div>
<div class="quest-name">No active quest</div>
</div>
<</if>>
</div>
</div>
<!-- Tableau des stats -->
<div id="status-panel">
<h3>Stats</h3>
<!-- Barre de vie -->
<div class="stat-container">
<div class="stat-icon health-icon"></div>
<div class="stat-bar-container">
<progress id="life-progress" @value="$Life" max="100" class="life-bar"></progress>
</div>
</div>
<!-- Barre de mana -->
<div class="stat-container">
<div class="stat-icon mana-icon"></div>
<div class="stat-bar-container">
<progress id="mana-progress" @value="$Mana" max="100" class="mana-bar"></progress>
<<print Math.floor($Mana)>>/<<print Math.floor($ManaMax)>>
</div>
</div>
<!-- Or (Gold) -->
<div class="stat-container">
<div class="stat-value gold-value">💰<<print $gold>></div>
</div>
<style>
/* Style pour l'élément progress (barre de progression) */
progress {
appearance: none;
-webkit-appearance: none;
width: 100%;
height: 16px;
border: none;
border-radius: 3px;
margin-bottom: 6px;
overflow: hidden;
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3);
}
/* Style de la barre de progression pour différents navigateurs */
progress::-webkit-progress-bar {
background-color: rgba(0, 0, 0, 0.3);
border-radius: 3px;
}
/* Style spécifique pour la barre de vie */
#life-progress::-webkit-progress-value {
background: linear-gradient(to bottom, #e74c3c, #c0392b);
border-radius: 0;
transition: width 0.3s ease-in-out;
}
#life-progress::-moz-progress-bar {
background: linear-gradient(to bottom, #e74c3c, #c0392b);
border-radius: 0;
transition: width 0.3s ease-in-out;
}
/* Style spécifique pour la barre de mana */
#mana-progress::-webkit-progress-value {
background: linear-gradient(to bottom, #3498db, #2980b9);
border-radius: 0;
transition: width 0.3s ease-in-out;
}
#mana-progress::-moz-progress-bar {
background: linear-gradient(to bottom, #3498db, #2980b9);
border-radius: 0;
transition: width 0.3s ease-in-out;
}
/* Nouveaux styles pour le conteneur et le texte */
.bar-container {
position: relative;
margin-bottom: 10px;
}
.bar-text {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7);
pointer-events: none; /* Pour que le texte n'interfère pas avec les clics */
}
</style>
<style>
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css');
/* Styles communs pour les deux panneaux */
#status-panel, #quest-panel {
background: linear-gradient(to bottom, #2c3e50, #1a2530);
border: 1px solid #34495e;
border-radius: 6px;
padding: 10px;
color: #ecf0f1;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
max-width: 250px;
}
#quest-panel {
margin-bottom: 8px;
}
#status-panel h3, #quest-panel h3 {
margin-top: 0;
margin-bottom: 6px;
border-bottom: 1px solid #34495e;
padding-bottom: 4px;
font-size: 1em;
display: flex;
align-items: center;
}
#status-panel h3 {
color: #3498db;
}
#quest-panel h3 {
color: #f39c12;
}
.icon-character:before {
font-family: 'FontAwesome';
margin-left: 5px;
}
/* Styles pour les statistiques */
.stat-container {
display: flex;
align-items: center;
margin-bottom: 4px;
}
.stat-icon {
width: 20px;
text-align: center;
margin-right: 5px;
font-family: 'FontAwesome';
}
.health-icon { color: #e74c3c; }
.mana-icon { color: #3498db; }
.armor-icon { color: #95a5a6; }
.gold-icon { color: #f1c40f; }
.gold-value {
color: #f1c40f !important;
}
.stat-bar-container {
flex-grow: 1;
height: 16px;
border-radius: 3px;
overflow: hidden;
}
.stat-bar {
height: 100%;
color: white;
text-align: center;
font-size: 0.7em;
line-height: 16px;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.7);
transition: width 0.3s ease-in-out;
display: flex;
align-items: center;
justify-content: center;
}
#health-bar {
background: linear-gradient(to bottom, #e74c3c, #c0392b);
}
#mana-bar {
background: linear-gradient(to bottom, #3498db, #2980b9);
}
.stat-value {
min-width: 25px;
text-align: right;
font-weight: bold;
color: #95a5a6;
}
/* Styles pour les quêtes */
.quest-list {
display: flex;
flex-direction: column;
gap: 4px;
}
.quest-item {
display: flex;
align-items: center;
padding: 4px 6px;
background: rgba(52, 73, 94, 0.5);
border-radius: 3px;
border-left: 3px solid #f39c12;
}
.quest-item.empty {
opacity: 0.5;
border-left-color: #7f8c8d;
}
.quest-icon {
width: 20px;
text-align: center;
margin-right: 6px;
}
.quest-info {
flex-grow: 1;
}
.quest-name {
font-size: 0.8em;
font-weight: bold;
}
.quest-progress {
font-size: 0.7em;
color: #bdc3c7;
}
.quest-status {
width: 20px;
height: 20px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.7em;
}
.quest-status.in-progress {
background-color: #2980b9;
color: #ecf0f1;
}
.quest-status.completed {
background-color: #27ae60;
color: #ecf0f1;
}
/* Styles restants */
.separator {
height: 1px;
background-color: #34495e;
margin: 5px 0;
}
.inventory-section {
margin-top: 3px;
}
.inventory-list {
display: flex;
flex-direction: column;
gap: 3px;
}
.inventory-item {
display: flex;
align-items: center;
padding: 3px 5px;
background: rgba(52, 73, 94, 0.5);
border-radius: 3px;
border-left: 3px solid #3498db;
}
.inventory-item.empty {
opacity: 0.5;
border-left-color: #7f8c8d;
}
.item-icon {
font-family: 'FontAwesome';
width: 16px;
text-align: center;
margin-right: 5px;
}
.health-potion { color: #e74c3c; }
.mana-potion { color: #3498db; }
.strength-potion { color: #e67e22; }
.item-name {
flex-grow: 1;
font-size: 0.8em;
}
.item-count {
background-color: #2c3e50;
border-radius: 3px;
min-width: 20px;
height: 20px;
font-size: 0.8em;
display: flex;
align-items: center;
justify-content: center;
}
</style>
<<script>>
// Fonction d'ajout de quête qui vérifie si la quête existe déjà
function addQuest(questName, progressTotal) {
// Initialiser le tableau activeQuests s'il n'existe pas encore
if (!State.variables.activeQuests) {
State.variables.activeQuests = [];
}
// Vérifier si une quête avec le même nom existe déjà
const questExists = State.variables.activeQuests.some(quest => quest.name === questName);
// Si la quête n'existe pas déjà, l'ajouter
if (!questExists) {
State.variables.activeQuests.push({
name: questName,
progress: 0,
total: progressTotal,
completed: false
});
// Rafraîchir l'affichage pour montrer la nouvelle quête
Engine.show();
return true; // La quête a été ajoutée avec succès
}
return false; // La quête existait déjà
}
// Fonction pour mettre à jour la progression d'une quête
function updateQuestProgress(questName, newProgress) {
if (!State.variables.activeQuests) return false;
for (let i = 0; i < State.variables.activeQuests.length; i++) {
if (State.variables.activeQuests[i].name === questName) {
State.variables.activeQuests[i].progress = newProgress;
// Marquer comme complétée si progress >= total
if (newProgress >= State.variables.activeQuests[i].total) {
State.variables.activeQuests[i].completed = true;
}
// Rafraîchir l'affichage
Engine.show();
return true;
}
}
return false; // Quête non trouvée
}
// Fonction pour compléter une quête directement
function completeQuest(questName) {
if (!State.variables.activeQuests) return false;
for (let i = 0; i < State.variables.activeQuests.length; i++) {
if (State.variables.activeQuests[i].name === questName) {
State.variables.activeQuests[i].progress = State.variables.activeQuests[i].total;
State.variables.activeQuests[i].completed = true;
// Rafraîchir l'affichage
Engine.show();
return true;
}
}
return false; // Quête non trouvée
}
// Fonction pour supprimer une quête
function removeQuest(questName) {
if (!State.variables.activeQuests) return false;
const initialLength = State.variables.activeQuests.length;
State.variables.activeQuests = State.variables.activeQuests.filter(quest => quest.name !== questName);
if (State.variables.activeQuests.length < initialLength) {
// Rafraîchir l'affichage
Engine.show();
return true;
}
return false; // Quête non trouvée
}
<</script>><<if $wasMenuItemEntered>>
<<link "BACK" $pastPassage>>
<<set $wasMenuItemEntered = false>>
<</link>>
<<else>>
<<if $stage == 0>>\
<<set $wasMenuItemEntered = true>>
<<set $pastPassage to passage()>>
<</link>><</if>>
<<link "💖 Characters" "Characters">>
<<set $wasMenuItemEntered = true>>
<<set $pastPassage to passage()>>
<</link>>
<<link "⚙️ Options" "Options">>
<<set $wasMenuItemEntered = true>>
<<set $pastPassage to passage()>>
<</link>>
<<link "🔒 Support us" "Support">>
<<set $wasMenuItemEntered = true>>
<<set $pastPassage to passage()>>
<</link>>
<</if>>// Désactive la suppression automatique des espaces blancs
Config.passages.nobr = false;
$(document).on(':passagedisplay', function() {
updateStatBars();
});
// Mettre à jour manuellement après modifications de variables
function updateStatBars() {
const vieRatio = State.variables.Life / State.variables.LifeMax;
const manaRatio = State.variables.Mana / State.variables.ManaMax;
$("#health-bar").css("width", (vieRatio * 100) + "%");
$("#health-bar").text(State.variables.Life + "/" + State.variables.LifeMax);
$("#mana-bar").css("width", (manaRatio * 100) + "%");
$("#mana-bar").text(State.variables.Mana + "/" + State.variables.ManaMax);
}
// Hook pour que la fonction soit appelée après chaque changement de variable
$(document).on(':stateupdate', function() {
updateStatBars();
});V0.07test<<switch random(1,4)>>\
<<case 1>>\
case 1
<<case 2>>\
case 2
<<case 3>>\
case 3
<<case 4>>\
<<goto "SB12">>
<</switch>>\
Fin
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/AmyS0.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 30ms>>\
<<speech "Amy">>Hello sir, nice to meet you! I really wanted to find some roses to make massage oil, but we got lost...
Why are you looking at me like that? Oh I know, how cute, you're thinking about giving me a massage to de-stress me. So kind of you sir!
<</speech>>
[[Massage]]
<</typeNEW>><video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/A1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 30ms>>\
<<speech "Elena">>There's something weird about this forest, the animals are strange...
<</speech>>
<<speech "Elena">>I'm putting on my new outfit, and we're going to find something to eat. I'm hungry...
<</speech>>
<<linkappend2 "...Have you lost your clothes?" t8n>>\
<<speech "Elena">>Amy and I went swimming, and our clothes were gone when we got back... Sym didn't bath, she preferred to fight a bear, yes, and kept her clothes.<</speech>>\
<</linkappend2>>\
[[Why are you worried, Elena?]][[Find something to eat]]
<</typeNEW>><video width="100%" height="30%" playsinline autoplay loop muted>
<source src="https://adn700.com/MagicAlpha/MagicWorldOfBimbo/Intro/BA1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 30ms>>\
<<speech "Sym">>What are you, some kind of little human? A goofball? I'm not a fan of that look you're giving to me."
<</speech>>
<<linkappend2 "I'm human?">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/BA2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Sym">>⚔Oh, a human? Well, I despise you! This is entirely your fault if we're lost... Humans told Amy to go to the Deep Forest. Humans stole her and Elena's clothe...
<</speech>>
<<speech "You">><span class="shake">💀Oups..</span><</speech>>
<</linkappend2>>
<<linkappend2 "And why not a magician?" t8n>>
<<speech "Sym">>You look like a troll! The last extremely powerful mage I met made my clothes disappear with this spell "GuNaked"<</speech>>
[[I am a magician, GuNaked]]
<</linkappend2>>
<</typeNEW>>
<style>
.shake {
display: inline-block;
animation: shake 0.5s infinite;
}
@keyframes shake {
0%, 100% { transform: translateX(0); }
25% { transform: translateX(-5px); }
75% { transform: translateX(5px); }
}
</style><video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/yes0.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<if $FanCode eq 0>><div class="disabled-button">💎 TitsJob Witch. (Support us)</div><<endif>>
<<if $FanCode eq 1>>
<!-- *********** NUMERO 1 ************* -->
<<linkappend2 "💦 Could we proceed to do a new sperm sampling ?" "NospeechScroll">>
<<vi "Forest/Witch/NewExtraction/1.mp4">><</vi>>
<<speech "Witch">>Wonderful! I knew I could count on you. Please follow me. I know males like to walk behind me...<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<<vi "Forest/Witch/NewExtraction/2.mp4">><</vi>>
<<speech "Witch">>MagicNude! One of my favourite spells, I'll teach you someday. The view's even better without clothes, right?<</speech>>
<<speech "Witch">>I want to motivate you for ! I feel you're ready, let's start now!<</speech>>
<<linkappend2 "Show her your cock" "NospeechScroll">>
<<vi "Forest/Witch/NewExtraction/3.mp4">><</vi>>
<<speech "Witch">>Mmmmh I love sucking this cock so much! Ttastes so gewd... But we're here for the sampling. I can feel your semen is ready, don't hold back, give it to me!<</speech>>
<<linkappend2 "Ejaculate" "NospeechScroll">>
<<vi "Forest/Witch/NewExtraction/4.mp4">><</vi>>
<<speech "Witch">>Yes, all over my face, perfect! Thank you so much... The best part of my working day for sure!<</speech>>
<</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>>
<!-- *********** NUMERO 2 ************* -->
<<linkappend2 "💦 Titjob ?">>
<<speech "Witch">>I've a request, sir. Giggle, I smile even if it's a bit embarrassing. I'd need semen from a powerful mage for brewing my potions... It's a great ingredient. I think YOU could help.<</speech>>
<<linkappend2 "But I told you, I'm not a mage; and certainly not powerful!">>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Forest/Witch/TitsJob/00.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Witch">>I'm not surprised by your reserve and humility, you're an honorable man. Ooops sorry please don't mind my tits, this outfit's definitely too tight. Ha, ha! So, can I at least test your sperm one time? In any case, I'll make you feel good during the harvest...<</speech>>
<<linkappend2 "Yes please... Harvest my semen">>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Forest/Witch/TitsJob/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Witch">>I knew I could count on you. Now stop forcing yourself to stare at my eyes and look how I shake my big boobs. Does it make you hard? Of course it does. Good, now show me your cock, so that we can start the harvest.<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/2.png">
<<speech "Witch">>OH! Beautiful specimen sir! I shouldn't be impressed, it's exactly what I expected from a powerful being like you. Don't worry, I'll take care of that marvel. Oh my god, I'm really sorry sir, it's so thrilling, I have to taste it. Can I?<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/2.webp">
<<speech "Witch">>Thank you so much! GLOP!!! MMMMhhh that's no small piece of meat! And it tastes so gewd! I mean... I'm certain the semen will be perfect for my potions! Let me taste it again... It's to be sure it's hard enough for the harvest! SHLOP!<</speech>>
<<linkappend2 "Hey who was that? Behind you!">>
<<speech "Witch">>SHLOP! GLOK! YUM! Don't worry, villagers come from time to time to bring me food and herbs! SHLOP! Focus instead on my lips on your big cock! SLURP!<</speech>>
<<linkappend2 "OK please continue">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/3.jpg">
<<speech "Witch">>She is very hard, perfect. Such a beautiful thing. Look at my eyes, see how much I want your sperm. And now let me show you my favourite trick!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/3B.webp">
<<speech "Witch">>Here we go, right between my big fun bags! Nice, it's so big that it emerges from my boobs, I'll be able to lick and suck the tip while I titfuck you. That gonna be fun!!! Are you excited?<</speech>>
<<linkappend2 "Are you doing that for fun?" >>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/3C.webp">
<<speech "Witch">>NOOO! Absolutely not, I'm not a whore! Listen, I'm an alchemist, I always search new powerful ingredients to make the most helpful potions! If sperm is the best component, well, I must collect some. Do you think I'm too pushy, or too slutty, in my approach?<</speech>>
<<linkappend2 "Never mind, please proceed!" >>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/TitsJob/4.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Witch">>Oh I thought you'd never ask! Let's go then... I squeeze your massive pole between my watermelons just like that... Can you feel their soft skin on your meat? Yes you do... Then I lick the tip... SLURP!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/TitsJob/4B.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Witch">>It's very pleasant you know, the best part in my job, I could that all day long. Especially with such a big cock, it's made for titjobs! SLURP! SLRP!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/5.webp">
<<speech "Witch">>Already ready to cum? Very happy you appreciated my service. The best way to collect your semen is to ejaculate in my mouth. Please give it to me, I'll do the rest.<</speech>>
<<linkappend2 "Cum!">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = $("#volumeSlider").val() / 100 || 0.3;
soundEffect.play();
<</script>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/6.webp">
<<speech "Witch">>Oh my gosh sir, you're spurting your magic semen all over my face! I can feel how, thick, smelly, and potent it is, mmmmhhh... But I told you to come in my mouth! Let me help you...<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/7B.webp">
<<speech "Witch">>GLOP! SHLOP! Got it! A chance you're ejaculating so much! GULP! I may taste it a little bit if you don't mind! GULP! <</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/7.webp">
<<speech "Witch">>Damn, there's much more than what I needed. But please don't mind me, finish to plaster my face, I'm indebted to you after all... Sigh...<</speech>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>>
<<endif>>
[[Return to he Forest|Enter the forest]]<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/4b.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 25ms>>
<<speech "Amy">>At last back to my favourite place.... Mmmh I feel so well, so serene in this tavern, what do you think? Trust me, they sell the best drinks in the village. What do you plan to do now you are here?<</speech>>
<<linkappend2 "First where can I sleep in the village?">>
<<if $AmyRelation < 1>>
<<set $AmyRelation = 1>>
<</if>>
<<speech "Amy">>Since you've helped me in the forest, I'd insist you stay at my place.<</speech>>
<<include "relationshipIcon">>
<<speech "You">>Sounds a great plan. So generous, thank you so much...<</speech>>
<<linkappend2 "Let's drink !">>
You drink an energy potion offered by Amy.
<<set $Life =90>>
<<run $("#life-progress").val($Life)>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Milk/Videos/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>The milk is absolutely delicious here, you should try. Mmmh, so gewd to be back home, yummy... Gulp... Ooopsie! Oh no, I've spilled milk all over myself AGAIN... Sooo clumsy. <</speech>>
<<linkappend2 "Ahem, did you do that on purpose (So that I stay longer in the village)?">>
<<speech "Amy">>No, absolutely not... haha what a mess I did, I'm so sorry!<</speech>>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/Milk/b3.jpg">
<<speech "Amy">>But I'm all wet and sticky now, I hope you're not shocked.
I need to go to change my clothes and put on something less prudish. Go take a walk around village and we'll meet up again at my home. I give you the address. <</speech>>
[[Go to the village|Village]]
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</typeNEW>><img src="<<= setup.getRandomImage('MagicWorldOfBimbo/Village/Work/', '', 10) >>">
<<set $imagePath = setup.getRandomImage('MagicWorldOfBimbo/Village/Work/', '', 10)>>
<img src="<<=$imagePath>>">
<<script>>
setup.getRandomImage('MagicWorldOfBimbo/Village/Work/', '', 10)
setup.getRandomImage = function(folder, prefix, count) {
const randomNum = Math.floor(Math.random() * count) + 1;
return `${folder}/${prefix}${randomNum}.jpg`;
};
// Utilisation : setup.getRandomImage("images", "image", 10); // Pour 10 images
<</script>><<if $gold === undefined>>\
<<set $gold = 0>>\
<<set $SymQuest = 0>>\
<<set $helenaEat = 0>>\
<<set $AmyRelation = 0>>\
<<set $AmyDrink = 0>>\
<<set $WitchRelation = 0>>\
<<set $SellerRelation = 0>>\
<<set $FanCode = 0>>\
<<set $SecretScenes = 0>>\
<<set $Armor = 0>>\
<<set $Weapon = 0>>\
<<set $miningpickaxe = 0>>\
<<set $potionlevel1 = 0>>\
<<set $CaptureForest = 0>>\
<<set $Life = 10>>\
<<set _Life = 10>>\
<<set $LifeMax = 100>>\
<<set $Mana = 5>>\
<<set $ManaMax = 100>>\
<<set $_randomAction to 0>>\
<<set _randomAction to 0>>\
<<set $GuildAccess = 0>>\
<<set $FoundScroll to 0>>\
<<set $Scrolltitsfree to 0>>\
<<set $Futa to 0>>\
<<set $man = "man">>\
<<set $duke = "duke2">>\
<<set $boy = "boy">>\
<<set $activeQuests = []>>\
<<set $CONFIG_CURSOR_SPEED = 200>>
<<set $YouPics = "MagicWorldOfBimbo/Avatar/You/0.jpg">>
<<set $musicVolume = 40>>\
<<set $soundVolume = 30>>\
<<set $MusicPlayPatch = "X">>\
<<set $FarmerSeedCount = 1>>\
<<endif>>\<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
Where would you like to go?
[[Amy's House]]
[[Work]]
[[Shop]]
[[Walk in the Street]]
<<if $GuildAccess == 1>>
[[Guild]]
<</if>>
<<if $GuildAccess == 0>>
<div class="disabled-button variation-2">Go to Guild Hall (Find Orc Master)</div>
<</if>>
<<if $Armor == 0>>
<div class="disabled-button variation-2">Go to the Forest. (Need Armor 🛡️)</div>
<<else>>
[[Forest|Enter the forest]]
<<endif>>
<<playaudio "MagicWorldOfBimbo/Music/1Village.mp3">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 30ms>>\
<<speech "Amy">>That's fantastic, you escaped the wolf! Usually humans like you are not fast enough.<</speech>>
<<linkappend2 "What about you?" t8n>>
<<speech "Amy">>My sisters and I arrived about an hour ago, even if we were impeded by our breasts. I've even had time to put this much more decent outfit on!<</speech>>
<</linkappend2>>
<<linkappend2 "How did you find your way?" t8n>>
<<speech "Amy">>We met a cute village guard in the forest and he showed us the way. So kind, I hope I'll meet him again. Hey, would you like to grab a drink to relax after that adventure? I know a cool tavern! <</speech>>
<</linkappend2>>
<<set $activeQuests = $activeQuests.filter(function(quest) {
return quest.name !== "Find the village";
})>>
[[Go for the Drink]]
<</typeNEW>>
<<script>>
// Fonction pour jouer un fichier audio
function playAudio(audioPath) {
// Vérifie si l'audio en cours est différent du nouveau
if (!window.audio || window.audio.src.split('/').pop() !== audioPath.split('/').pop()) {
// Si un audio existe déjà, l'arrête
if (window.audio) {
window.audio.pause();
window.audio.currentTime = 0;
}
// Crée et configure le nouvel audio
window.audio = new Audio(audioPath);
window.audio.loop = true;
window.audio.volume = $("#volumeSlider").val() / 100 || 0.3;
window.audio.play().catch(function(error) {
console.log("Audio playback failed:", error);
});
console.log("Nouvelle musique démarrée: " + audioPath);
} else {
console.log("Même musique déjà en cours: " + audioPath);
}
}
// Appel de la fonction avec le chemin de votre fichier audio
playAudio('MagicWorldOfBimbo/Music/1Village.mp3');
<</script>>
<<set $_randomAction += 1>>
<<if $_randomAction is 8>>
<<set $_randomAction = 0>>
<</if>>
<<if $_randomAction == 0>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Walk/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Sym">>Are you still a demon? Of course you are. Leave quickly before I hit you.
<</speech>>
<div id="choices">
<<link2 "I'm not a Demon." >>
<<replace "#choices" t8n>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Walk/1a.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Sym">>You're going to leave here and now, you dark mage!<</speech>>
<</replace>>
<</link2>>
<<link2 "Can we talk ?">>
<<replace "#choices">><<speech "Sym">>You'll talk with my Sword!<</speech>><</replace>>
<</link2>>
</div>
<</if>>
<<if $_randomAction == 1>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Walk/2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Mistress">>Oh! Hello sir, sorry I'm so happy, I'm going to be a mistress for the king himself. I'm coming from very far, but he's fond of buxom blonds like me, it'll be easy! I hear he pays well, but I hope the other rumours about what he likes are not true.
<</speech>>
<<linkappend2 "Can I have a mistress too ?">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Walk/2b.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Mistress">>Sorry, but a good, loving busty mistress requires riches you know? Funny, your wood armor suggests otherwise.
<</speech>>
<</linkappend2>>
<</if>>
<<if $_randomAction == 2>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Walk/3.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Elena">>Oh I'm glad to see you again, it was quite an adventure... Please don't tell everyone I lost my clothes at the lake. At least I've been able to put on a beautiful dress, not too revealing as you can see, when I returned home!
<</speech>>
<<if $Scrolltitsfree == 1>>
<<linkappend2 "🪄 Liberation Charm (Free tits)" "1" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Spell.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Walk/3a.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Elena">>What's happening with my dress? Oh crap, my tits are out again! Whereas I was bragging about having a more appropriate dress just before giggle.<</speech>>
<<speech "Elena">>Don't be ashamed of getting an eyeful, it's not your fault after all. But please, don't talk about the incident ha,ha,ha !<</speech>>
<</linkappend2>>
<</if>>
<<linkappend2 "I love your dress. You have a sense of style!" "NospeechScroll">>
<<speech "Elena">>Oh really? So kind of you! I see you're a connoisseur too, would you like come with me to help me to choose my next outfits?<</speech>>
<!-- *********** [[Go shopping with Elena]] ************* -->
*** NEXT UPDATE ***
<</linkappend2>>
<</if>>
<<if $_randomAction == 3>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Walk/4.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<set $GuildAccess = 1>>
<<speech "GuildMaster">>Hello, my young friend. A new guild has opened, and we are looking for adventurers to undertake missions to help our community, or to recruit warriors to defend us.
<</speech>>
<</if>>
<<if $_randomAction == 4>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Walk/5.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Guild member">>I defend the city against hostile creatures. It's not easy because we're short on manpower.
<</speech>>
<</if>>
<<if $_randomAction == 5>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Walk/6.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<set $GuildAccess = 1>>
<<speech "Guild member">>We need people like you to contribute to food production. The Farmer has posted a mission in the guild if you want...
<</speech>>
<</if>>
<<if $_randomAction == 6>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Walk/7.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<set $GuildAccess = 1>>
<<speech "Guild member">>My domain is the sewers. I destroy creatures all day long. You maybe need a better armor. Come see us at the guild; the missions pay well.
<</speech>>
<</if>>
<<if $_randomAction == 7>>
<<if $AmyRelation > 3>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Walk/Wolf1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Wolf">>Ah, it's you! I started apologizing to the ladies in town. I still have little Amy, who I'd love to fuck in every hole, my friend.
<</speech>>
<<else>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Walk/8.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Guild member">>I've discovered that a significant malevolence exists nearby. We must locate it and cleanse it.
<</speech>>
<<endif>>
<</if>>
[[Continue to Walk|Walk in the Street]]
[[Leave|Village]]<<set _randomImg = Math.floor(Math.random() * 5)>>
<<set _phrases to [
"I want to get some exercise, I need to shake that body. What do you suggest?",
"What a beautiful day! The weather is nice and people seem so happy... See the look in their eyes when they spot me? Where do you want to go?",
"Let's go, let's run, we're sure to find a nice place. Stay behind me my friend!",
"The last milk glass I drank makes me feel good.... Mmmmh",
"This way my new friend... You're staying behind again, are you tired? Take your time, enjoy the street view, it's very special."
]>>
<<print '<video width="100%" height="30%" playsinline autoplay loop muted>' +
'<source src="MagicWorldOfBimbo/Village/Date/' + _randomImg + '.mp4" type="video/mp4">' +
'Your browser does not support the video tag.</video>'>>
<<typeNEW 0ms>>
<<speech "Amy">><<print _phrases[_randomImg]>><</speech>>
<<linkappend2 "You are beautiful !" t8n>>
<<speech "Amy">>Stop, you sweet-talking boy, you're going to make me blush!<</speech>>
<</linkappend2>>
[[Tavern|Glass of Milk]]
[[Garden]]
[[Amy's House]]
<<if $AmyRelation < 3>><div class="disabled-button variation-2">Walk in the Forest. (Kill the Wolf) (Next Update)</div>
<<endif>>
<<if $AmyRelation > 2>>
[[💦Walk into the woods with Amy.]]
<<endif>>
<</typeNEW>><<if $gold >= 10>>
<span style="color: #FFD700; display: flex; align-items: center; gap: 5px;">You paid 10 🪙</span>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/01-ShopBuy.ogg');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<<set $gold -= 10>>
<<set $Weapon = 1>>
<div class="purchase-container">
<video width="100%" height="30%" playsinline autoplay loop muted class="purchase-image">
<source src="MagicWorldOfBimbo/Village/Shop/yes.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<div class="purchase-overlay">
<div class="purchase-effect">WEAPON ACQUIRED!</div>
</div>
</div>
<<speech "Seller">>Thank you for your purchase. With this weapon, the enemies of the deep forest will not harm you.<</speech>>
<<else>>
<video width="100%" height="30%" playsinline autoplay loop muted >
<source src="MagicWorldOfBimbo/Village/Shop/6.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Seller">><span class="bounce">Sorry!, but you need at least 5 gold pieces</span>. Come back when you have enough money.<</speech>>
<</if>>
[[Back to the City|Village]]
<style>
.bounce {
display: inline-block;
animation: bounce 0.5s infinite;
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
/* Purchase animation styles */
.purchase-container {
position: relative;
overflow: hidden;
margin-bottom: 10px;
}
.purchase-image {
animation: pulse 1s ease-in-out;
}
.purchase-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
pointer-events: none;
}
.purchase-effect {
color: #FFD700;
font-size: 2em;
font-weight: bold;
text-shadow: 0 0 10px #FFD700, 0 0 20px #FFD700;
background-color: rgba(0, 0, 0, 0.5);
padding: 10px 20px;
border-radius: 10px;
animation: fadeInOut 2s ease-in-out forwards;
transform: scale(0);
}
@keyframes pulse {
0% { filter: brightness(1); }
50% { filter: brightness(1.5); }
100% { filter: brightness(1); }
}
@keyframes fadeInOut {
0% { opacity: 0; transform: scale(0) rotate(-10deg); }
20% { opacity: 1; transform: scale(1.2) rotate(5deg); }
80% { opacity: 1; transform: scale(1) rotate(0); }
100% { opacity: 0; transform: scale(0.8); }
}
</style><video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/A2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 30ms>>\
<<speech "Elena">>Can't you see? My chest is <span class="bounce">huge</span>, and the only bra I could find in this damn forest is too small... It's so uncomfortable!
<</speech>>
[[You can take it off in this case, it doesn't bother me.|You can remove it]]
[[Talk to Amy]]
<</typeNEW>>
<style>
.bounce {
display: inline-block;
animation: bounce 0.5s infinite;
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
</style><video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/0a.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 30ms>>\
<<speech "Witch">>Oh good, a magician! Listen Sir, someone has changed villagers of the region into animals. Please help me to restore them. I want to try a spell which could help in this regard and I can teach you how to cast it.
<</speech>>
<<speech "You">>Me? A magician? You must be mistaken. Argh, I don't remember anything anymore...
<</speech>>
<<speech "Witch">>This is really strange, but I feel a lot of power coming from you. Hey are you listening, what are you looking at? If you're willing to help me with the transformed persons, I'll help you.
<</speech>>
<<set $WitchRelation = 1>>
[[Learn the spell]]
<</typeNEW>>
<<script>>
// Fonction pour jouer un fichier audio
function playAudio(audioPath) {
// Vérifie si l'audio en cours est différent du nouveau
if (!window.audio || window.audio.src.split('/').pop() !== audioPath.split('/').pop()) {
// Si un audio existe déjà, l'arrête
if (window.audio) {
window.audio.pause();
window.audio.currentTime = 0;
}
// Crée et configure le nouvel audio
window.audio = new Audio(audioPath);
window.audio.loop = true;
window.audio.volume = $("#volumeSlider").length > 0 ?
($("#volumeSlider").val() / 100) :
0.3;
window.audio.play().catch(function(error) {
console.log("Audio playback failed:", error);
});
console.log("Nouvelle musique démarrée: " + audioPath);
} else {
console.log("Même musique déjà en cours: " + audioPath);
}
}
// Appel de la fonction avec le chemin de votre fichier audio
playAudio('MagicWorldOfBimbo/Music/1Witch.mp3');
<</script>><video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/Earn1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 30ms>>\
<<speech "Witch">>Do you need energy to cast the spell big boy? That's your lucky day, I also sell mana potions. I've magical scrolls too, yes. Do you want some?
<</speech>>
[[Drink a mana potion (💰 5po) |PotionManaBuy]]
[[🕮 Searching for a new spell]]
[[💎Talk with the Witch]]
<<include Quest-Witch-Transform>>
[[Return to he Forest|Enter the forest]]
<</typeNEW>>
<<playaudio "MagicWorldOfBimbo/Music/1Witch.mp3">>
<<set _randomImg = Math.floor(Math.random() * 9)>>
<<print '<video width="100%" height="30%" playsinline autoplay loop muted>' +
'<source src="MagicWorldOfBimbo/Village/Work/' + _randomImg + '.mp4" type="video/mp4">' +
'Your browser does not support the video tag.</video>'>>
To your surprise, the miners are mostly women. Busty females with round asses, working hard and efficiently. You're going to enjoy working here despite the efforts!
<<if $FoundScroll > 3 and _randomImg == 8>>
<<linkappend2 "🪄💀💦Look at her breasts." "disableScroll" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Work/8a.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = $("#volumeSlider").val() / 100 || 0.3;
soundEffect.play();
<</script>>
<<speech "You">>Sorry, I'm cursed...<</speech>>
<<smoothscroll>>
<</linkappend2>>
<</if>>
/* Créons un élément audio une seule fois */
<<script>>
if (!window.rockSound) {
window.rockSound = new Audio("MagicWorldOfBimbo/Sounds/rockHit.mp3");
}
<</script>>
<<if $Life < 25>>
<<speech "You">>I need to rest, I don't have enough life to mine.(Amy's house)<</speech>>
<</if>>
<<if $Life > 25>>
<<linkreplace "⛏️Hit the rock" t8n>><br>
<<run $("#rockImage").addClass("shake")>>
<<run window.rockSound.currentTime = 0; window.rockSound.play()>>
<<timed 400ms>><<run $("#rockImage").removeClass("shake")>><</timed>>
<<shake 400ms>>The rock trembles!<</shake>>
<<linkreplace "⛏️Hit again" t8n>><br>
<<set _damage = Math.floor(random(5, 25))>>
<<set $Life -= _damage>>
<<run $("#rockImage").addClass("shake")>>
<<run window.rockSound.currentTime = 0; window.rockSound.play()>>
<<timed 400ms>><<run $("#rockImage").removeClass("shake")>><</timed>>
<<shake 400ms>>🪨A stone falls on you! <span style="color: red;">You lose _damage life points!</span><</shake>>
<<run $("#life-progress").val($Life)>>
<<linkreplace "⛏️Last hit!" t8n>><br>
<<run $("#rockImage").addClass("shake")>>
<<run window.rockSound.currentTime = 0; window.rockSound.play()>>
<<timed 400ms>><<run $("#rockImage").removeClass("shake")>><</timed>>
<<shake 400ms>>Gold is here!<</shake>>
<<set _WorkGold = Math.floor(Math.random() * 3)+1>>
<<if $miningpickaxe > 0>>
<<set _WorkGold +=5>>
<</if>>
<br>You earn _WorkGold gold pieces💰.
<<set $gold += _WorkGold>>
[[Work again|Work]]
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</if>>
<br><br>
[[Back to the village|Village]]<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Intro/A3.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<typeNEW 30ms>>\
<<speech "Elena">>Thank you very much, I feel better already. I'm going to relax my breasts for a few minutes if you don't mind, then we'll go get something to eat.
<</speech>>
[[Find something to eat]]
[[Talk to Amy]]
<</typeNEW>><!-- Widget pour le jeu de timing avec design amélioré, compatible avec SugarCube 3.7 -->
<<widget "timinggame">>
<<set $gameActive = true>>
<<set $gameResult = "">>
<div id="game-container" style="width: 340px; height: 80px; border: 3px solid #333; border-radius: 10px; position: relative; margin: 20px auto; background: #f0f0f0; box-shadow: 0 6px 10px rgba(0,0,0,0.3);">
<!-- Zone verte (succès) -->
<div style="position: absolute; width: 60px; height: 74px; background-color: #4CAF50; left: 140px; top: 3px; border-radius: 5px; box-shadow: inset 0 0 10px rgba(0,0,0,0.2);"></div>
<!-- Zones rouges (échec) -->
<div style="position: absolute; width: 140px; height: 74px; background-color: #F44336; left: 0px; top: 3px; border-radius: 5px 0 0 5px; box-shadow: inset 0 0 10px rgba(0,0,0,0.2);"></div>
<div style="position: absolute; width: 140px; height: 74px; background-color: #F44336; left: 200px; top: 3px; border-radius: 0 5px 5px 0; box-shadow: inset 0 0 10px rgba(0,0,0,0.2);"></div>
<!-- Barre mobile -->
<div id="moving-bar" style="position: absolute; width: 14px; height: 74px; background-color: #2196F3; left: 0px; top: 3px; border-radius: 4px; box-shadow: 0 0 6px rgba(33,150,243,0.8);"></div>
</div>
<div style="text-align: center; margin-top: 15px;">
<button id="game-button" style="padding: 10px 25px; background-color: #2196F3; color: white; border: none; border-radius: 5px; font-weight: bold; cursor: pointer; box-shadow: 0 3px 5px rgba(0,0,0,0.2); transition: all 0.2s;">CLIQUEZ AU BON MOMENT!</button>
</div>
<div id="result-message" style="text-align: center; margin-top: 15px; font-weight: bold; height: 24px;"></div>
<div id="game-continue" style="display: none; text-align: center; margin-top: 20px;">
<<if $gameResult eq "success">>
<<link [[Continuer (Réussite)]]>>
<<goto "SuccessPassage">>
<</link>>
<<else>>
<<link [[Réessayer]]>>
<<goto "GamePassage">>
<</link>>
<<link [[Abandonner (Échec)]]>>
<<goto "FailurePassage">>
<</link>>
<</if>>
</div>
<script>
(function() {
// Variables pour le jeu
var barPosition = 0;
var direction = 1;
var speed = 10;
var gameActive = true;
var gameInterval;
// Animation de la barre
gameInterval = setInterval(function() {
if (!gameActive) {
clearInterval(gameInterval);
return;
}
// Déplacer la barre
barPosition += direction * speed;
// Changer de direction si la barre atteint les bords
if (barPosition >= 326 || barPosition <= 0) {
direction *= -1;
}
// Mettre à jour la position visuelle de la barre
$("#moving-bar").css("left", barPosition + "px");
}, 20);
// Gestionnaire d'événement pour le bouton
$("#game-button").on("click", function() {
if (!gameActive) return;
gameActive = false;
clearInterval(gameInterval);
// Effet visuel du bouton cliqué
$(this).css({
"background-color": "#0D47A1",
"box-shadow": "0 1px 2px rgba(0,0,0,0.2)",
"transform": "translateY(2px)"
});
// Vérifier si le joueur a cliqué dans la zone verte
if (barPosition >= 140 && barPosition <= 200) {
SugarCube.State.variables.gameResult = "success";
$("#result-message").html("✅ RÉUSSITE! <span style='color:green'>Excellent timing!</span>");
} else {
SugarCube.State.variables.gameResult = "failure";
$("#result-message").html("❌ ÉCHEC! <span style='color:darkred'>Pas assez précis!</span>");
}
// Permettre de continuer l'histoire après 1 seconde
setTimeout(function() {
$("#game-continue").fadeIn(500);
}, 1000);
});
})();
</script>
<</widget>>
<<timinggame>><<if $gold >= 5>>\
<span style="color: #FFD700; display: flex; align-items: center; gap: 5px;">You paid 5 🪙</span>\
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/01-ShopBuy.ogg');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>\
<<set $gold -= 5>>\
<<set $miningpickaxe = 1>>\
<div class="purchase-container">
<video width="100%" height="30%" playsinline autoplay loop muted class="purchase-image">
<source src="MagicWorldOfBimbo/Village/Shop/yes.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<div class="purchase-overlay">\
<div class="purchase-effect">TOOL ACQUIRED!</div>\
</div>\
</div>\
<<speech "Seller">>Thank you for your purchase this tool. Mining will be faster.<</speech>>
<<else>>\
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Shop/no.jpg">
<<speech "Seller">><span class="bounce">Sorry!, but you need at least 5 gold pieces</span>. Come back when you have enough money.<</speech>>
<</if>>\
[[Back to the City|Village]]
<style>
.bounce {
display: inline-block;
animation: bounce 0.5s infinite;
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
/* Purchase animation styles */
.purchase-container {
position: relative;
overflow: hidden;
margin-bottom: 10px;
}
.purchase-image {
animation: pulse 1s ease-in-out;
}
.purchase-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
pointer-events: none;
}
.purchase-effect {
color: #FFD700;
font-size: 2em;
font-weight: bold;
text-shadow: 0 0 10px #FFD700, 0 0 20px #FFD700;
background-color: rgba(0, 0, 0, 0.5);
padding: 10px 20px;
border-radius: 10px;
animation: fadeInOut 2s ease-in-out forwards;
transform: scale(0);
}
@keyframes pulse {
0% { filter: brightness(1); }
50% { filter: brightness(1.5); }
100% { filter: brightness(1); }
}
@keyframes fadeInOut {
0% { opacity: 0; transform: scale(0) rotate(-10deg); }
20% { opacity: 1; transform: scale(1.2) rotate(5deg); }
80% { opacity: 1; transform: scale(1) rotate(0); }
100% { opacity: 0; transform: scale(0.8); }
}
</style><div class="simple-heart-transform">
<p>Your relationship is improving <span id="transformingHeart">🖤</span></p>
</div>
<style>
.simple-heart-transform {
text-align: center;
margin: 10px auto;
font-family: Arial, sans-serif;
background: linear-gradient(to bottom, #ff6b97, #ff0066);
border: 1px solid black;
padding: 10px;
border-radius: 4px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
width: 60%;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
}
.simple-heart-transform p {
font-size: 0.9em;
margin: 0;
color: white;
display: flex;
align-items: center;
justify-content: center;
gap: 5px;
width: 100%;
}
#transformingHeart {
font-size: 1.2em;
animation: heartTransform 2s forwards;
position: relative;
display: inline-block;
}
@keyframes heartTransform {
0% { opacity: 1; }
40% { opacity: 0; }
60% { opacity: 0; }
100% { opacity: 1; }
}
#transformingHeart::after {
content: "❤️";
position: absolute;
left: 0;
opacity: 0;
animation: heartAppear 2s forwards;
}
@keyframes heartAppear {
0% { opacity: 0; }
40% { opacity: 0; }
60% { opacity: 0.5; }
100% { opacity: 1; }
}
</style>
<script>
setTimeout(function() {
document.getElementById('transformingHeart').style.opacity = 0;
setTimeout(function() {
document.getElementById('transformingHeart').innerHTML = "❤️";
document.getElementById('transformingHeart').style.opacity = 1;
}, 1000);
}, 1000);
</script><span class="rotate">This text rotates!</span>
<style>
.rotate {
display: inline-block;
animation: rotate 2s linear infinite;
}
@keyframes rotate {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
</style>
html
Copy
<span class="gradient-text">This text has a gradient!</span>
<style>
.gradient-text {
background: linear-gradient(90deg, red, orange, yellow, green, blue, indigo, violet);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
</style>
<span class="highlight-hover">Hover over me!</span>
<style>
.highlight-hover {
transition: background-color 0.3s ease;
}
.highlight-hover:hover {
background-color: yellow;
}
</style>
<span class="bounce">This text bounces!</span>
<style>
.bounce {
display: inline-block;
animation: bounce 1s infinite;
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
</style>
<span class="shake">This text shakes!</span>
<style>
.shake {
display: inline-block;
animation: shake 0.5s infinite;
}
@keyframes shake {
0%, 100% { transform: translateX(0); }
25% { transform: translateX(-5px); }
75% { transform: translateX(5px); }
}
</style>
<span class="fade-in">This text will fade in.</span>
<style>
.fade-in {
opacity: 0;
animation: fadeIn 2s ease-in forwards;
}
@keyframes fadeIn {
to { opacity: 1; }
}
</style>
<span class="typewriter">This text will appear as if it's being typed.</span>
<style>
.typewriter {
display: inline-block;
overflow: hidden;
border-right: .15em solid orange;
white-space: nowrap;
margin: 0 auto;
letter-spacing: .15em;
animation: typing 3.5s steps(40, end), blink-caret .75s step-end infinite;
}
@keyframes typing {
from { width: 0; }
to { width: 100%; }
}
@keyframes blink-caret {
from, to { border-color: transparent; }
50% { border-color: orange; }
}
</style>
<span class="attack-effect">Enemy Attack!</span>
<style>
.attack-effect {
display: inline-block;
font-weight: bold;
color: red;
animation: attack 0.5s infinite;
}
@keyframes attack {
0% {
transform: translateX(0) translateY(0);
color: red;
text-shadow: 0 0 5px rgba(255, 0, 0, 0.8);
}
25% {
transform: translateX(-5px) translateY(-5px);
color: darkred;
text-shadow: 0 0 10px rgba(255, 0, 0, 0.8);
}
50% {
transform: translateX(5px) translateY(5px);
color: orange;
text-shadow: 0 0 15px rgba(255, 165, 0, 0.8);
}
75% {
transform: translateX(-5px) translateY(-5px);
color: yellow;
text-shadow: 0 0 20px rgba(255, 255, 0, 0.8);
}
100% {
transform: translateX(0) translateY(0);
color: red;
text-shadow: 0 0 5px rgba(255, 0, 0, 0.8);
}
}
</style>:: Map
<!-- Style pour positionner les images et les boutons -->
<style>
#map-container {
position: relative;
}
#map-container img {
width: 100%;
height: 100%;
}
.map-button {
position: absolute;
background: none;
border: none;
cursor: pointer;
padding: 0;
/* Ajoute des propriétés pour masquer le bouton, mais le garder cliquable */
background-color: rgba(0, 0, 0, 0); /* Transparent */
border: none;
}
.map-button:hover {
background-color: rgba(0, 0, 0, 0.2); /* Semi-transparent */
}
#button1 {
top: 20%; /* Position verticale (ajustez) */
left: 30%; /* Position horizontale (ajustez) */
width: 50px; /* Largeur de votre bouton (ajustez) */
height: 30px; /* Hauteur de votre bouton (ajustez) */
}
.button1-link:hover {
border: 2px solid blue; /* Ajoute une bordure bleue au survol */
background-color: rgba(0, 0, 0, 0.2); /* Semi-transparent */
}
#button2 {
top: 60%; /* Position verticale (ajustez) */
left: 70%; /* Position horizontale (ajustez) */
width: 50px; /* Largeur de votre bouton (ajustez) */
height: 30px; /* Hauteur de votre bouton (ajustez) */
}
.button2-link:hover {
border: 2px solid blue; /* Ajoute une bordure bleue au survol */
background-color: rgba(0, 0, 0, 0.2); /* Semi-transparent */
}
#button1 {
/* ... autres propriétés ... */
background-image: url("MagicWorldOfBimbo/Map/B1.png");
background-size: cover; /* Pour que l'image remplisse le bouton */
}
</style>
<!-- Conteneur de la carte -->
<div id="map-container">
<img src="MagicWorldOfBimbo/Map/map.png" alt="Carte">
<!-- Boutons cliquables -->
<button id="button1" class="map-button" data-passage="Tavern"></button>
<button id="button2" class="map-button" data-passage="Forest"></button>
</div>
<script>
// Gestion des clics sur les boutons
$(document).on("click", ".map-button", function() {
var passage = $(this).data("passage");
Engine.show(passage); // Utilise Engine.show pour changer de passage
});
</script>
:: Tavern
Vous êtes dans la taverne.
:: Forest
Vous êtes dans la forêt.<!-- *********** ROSE QUEST ************* -->
<<if getQuestProgress("Bring 20 roses to Amy.") == 0 and $AmyRelation == 1>>
<<linkappend2 "📜Quest : Rose" "Text" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
<<speech "Amy">>Oh, really? You want to bring me roses from the forest? So chivalrous, I'm so happy to have met you. I need twenty roses to make a massage oil... Take this last one as a sample.🌹<</speech>>
<<run addQuest("Bring 20 roses to Amy.",20)>>
<<run incrementQuestProgress("Bring 20 roses to Amy.")>>
<</linkappend2>>
<</if>>
<<if getQuestProgress("Bring 20 roses to Amy.") >= 19 and $AmyRelation == 1>>
<<linkappend2 "📜Quest : Rose Finished" "Text" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">> >>
<<speech "Amy">>OH ! Thanks... we need to celebrat that... come with me...<</speech>>
<<set $AmyRelation = 2>>
<<run removeQuest("Bring 20 roses to Amy.")>>
<<include "relationshipIcon">>
[[💦Rose Massage]]
<</linkappend2>>
<</if>>
<!-- *********** WOLF QUEST ************* -->
<<if getQuestProgress("Transform the wolf.") == 0 and $AmyRelation == 2>>
<<linkappend2 "📜Quest : Transform the wolf ?" "Text" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
<<speech "Amy">>I'm really scared to go into the forest because of the wolf.<</speech>>
<<speech "You">>I think I can do a few things; I've acquired some magical powers. <</speech>>
<<run addQuest("Transform the wolf.",0)>>
<<run incrementQuestProgress("Transform the wolf.")>>
<</linkappend2>>
<</if>>
<<if getQuestProgress("Transform the wolf.") >= 2 and $AmyRelation == 2>>
<<linkappend2 "📜Quest : Wolf Finished" "Text" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
<<speech "You">>The wolf disappeared; I finally transformed him back into a human... <</speech>>
<<speech "Amy">>OH ! You transform to human ?! it's fun !<</speech>>
<<include "relationshipIcon">>
<<speech "Amy">>So, can we head to the woods?<</speech>>
<<set $AmyRelation = 3>>
<<run removeQuest("Transform the wolf.")>>
[[💦Walk into the woods with Amy.]]
<</linkappend2>>
<</if>>
<!-- *********** MENU ************* -->
<<if $AmyRelation < 2>>
<div class="disabled-button variation-3">💦Rose Massage.<span style="font-size: 60%;"> (Need Amy: ❤️❤️🖤)</span></div>
<<else>>
[[💦Rose Massage]]
<<endif>>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/01.jpg">
<<speech "Amy">>Here you are! Please enter, my saviour. I got comfortable and started to oint my skin with the oil I was able to brew thanks to your roses. Now, would you be nice and give me the massage you proposed in the forest?<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/02.jpg">
<<speech "Amy">>What are you looking at? Ha, yes, my skin's all shiny because of the oil. I didn't have time to spread the last drops before you step into, but I guess you can help me with that. Please have a look to check where are the remaining drops, don't hesistate. <</speech>>
<<linkappend2 "Inspect her body?" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/03.jpg">
<<speech "Amy">>Oh, there are still white, creamy drops on my big butt? I did such a mess... Well, I guess it's your task now. Spread the cream on my butt and legs please. Don't worry for the string, I put it on to make the massage easy.<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/06.jpg">
<<speech "Amy">>Very well, your warm hands on my ass cheeks feel good. Spread the cream, go on, make it penetrate my skin...<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/04.jpg">
<<speech "Amy">>Very good job my friend! I'm perfectly ointed. Now the massage can start for real, what do you think? I can see in your eyes that you want to continue to service my butt, it's a great idea!<</speech>>
<<linkappend2 "Massage her butt?" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/05.jpg">
<<speech "Amy">>Mmmmh yes, this is so good and relaxing, I missed that so much! It's a blessing we found you in the forest, really! Continue!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/07.jpg">
<<speech "Amy">>Why are you stopping? Oh, I see, you want to admire your work... Well deserved. Don't hesistate to continue to massage my butt cheeks, they're still sore after all the running the forest. Please. Oh, you want to remove my string? Please do, it'll be more comfortable for both of us.<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/08.jpg">
<<speech "Amy">>Oh yes, if feels better now I'm nude there. Mmmh, this is very good, you're really an expert. I love when a male knows how to handle my butt you know? I needed it so bad.<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/09.jpg">
<<speech "Amy">>Oh, it's already done? Maybe you want to massage something else? Yes I removed my top too, I didn't feel the need to keep it, I feel at ease with you. But for real, I'd like you to continue to work my ass.<</speech>>
<<linkappend2 "Massage her butt again?" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/10.jpg">
<<speech "Amy">>Yes, open my legs like that, have a better look... A butt like this needs to be pampered, don't you think? <</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/11.webp">
<<speech "Amy">>Oh I knew you'd agree! Yes massage my big round ass cheeks again! Harder! We're having so much fun!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/12.jpg">
<<speech "Amy">>OK my hero, I stop teasing you. Of course you deserve a better reward than just checking and touching my butt. Come before me and show me your dick. You deserve no less than a good, sloppy blowjob!<</speech>>
<<linkappend2 "Show your cock?" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/13.jpg">
Amy is astonished by the size of your dick, but she doesn't lose time and immediately stick it in her mouth!
<<speech "Amy">>Oh my goddess it is such a magnificent pole! I can resist I... SLUUUUURP! Hmmm, it tastes very gewd! SLLRRP! SLRRP! That gonna be fun! <</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/14.jpg">
<<speech "Amy">>Shlop! Slurp! Shlop! You like it? Wait, we're not even started yet. Do you remember, you're here for a massage. I meant, a cock like this deserves a throat massage! Let me show you... <</speech>>
<<linkappend2 "Deepthroat action?" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/15.webp">
Under your incredulous gaze, Amy brutally shoves your massive dick down her throat, and undertakes to give your the deepthroat of your life, drooling like a beast as she's fucking her own face of your pole, and rebounding on her huge tits as she frantically forces her throat on your manhood!
<<speech "Amy">>GLOP! GLOK! KOPF! SLRRRP! SLRRRP! GAH enjoy! GLOK!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/16b.webp">
You can't believe your eyes as she makes it fit balls deep in her slutty mouth, struggling against her gag reflex. Out of oxygen, she seems about to lose her mind but doesn't lose her focus, resting on her big udders as if they were comfortable pillows. Mesmerized, you can't hold for long...
<<speech "Amy">>GLOK! GLOK! KOPF! COME! GIMME YOUR CUM! GLUG! KFFF!<</speech>>
<<linkappend2 "Ejaculate?" "NospeechScroll">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = $("#volumeSlider").val() / 100 || 0.3;
soundEffect.play();
<</script>>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/17.webp">
Unable to resist any longer, you pull your dick out of her throat and burst into thick ropes of white goo! Realizing at last that you're coming, Amy smiles, happy to have rewarded you. But you're ejaculating so much sperm that the elf girl stands in awe, her mouth wide open...
<<speech "Amy">>Oh my goddess you're cumming, what a thick creamy load, that's fantastic! Only monsters ejaculate like that!!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/19.jpg">
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/AmyHouse/Massage/19.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
Unwillingly you fill her open mouth with a huge load of semen. You fear Amy will be disgusted, but on the contrary, she seems to savour the taste. Then she slowly, delicately spits a part of your load on her big boobs...
<<speech "Amy">>Slurp! Gulp! HMMMMHHH it tastes so yummy! You're such a perfect male... SPURT! Don't worry, I don't want to waste your gift, on the contrary...<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/18.jpg">
<<speech "Amy">>... my boobies need more cream and yours will be perfect. Ooooh it feels so good, so warm on my breasts. See the mess you've done? These huge pillow of flesh are completely plastered!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/20.jpg">
<<speech "Amy">>Ohlalala but you're still coming! Your cock's a blessing my saviour... I think your balls were really to full, they need to be emptied more frequently giggle.<</speech>>
<<linkappend2 "Watch her eating your cum?" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/21.jpg">
<<speech "Amy">>SLURP! GULP! The taste is so powerful, so delicious! Yes, it's decided! From now on you're going to feed me with your sperm every day, it'd be a shame to waste such a nectar! GULP! You know what to do if you want to stay in this house. <</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/22.jpg">
<<speech "Amy">>Look at me when I swallow your cum! GULP! So fucking thick and tasty! SLURP! My new favourite drink! I want to feast on it everytime I need! GULP! I don't want you to waste it with other girls do you hear me? SLURP!
<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/23.jpg">
<<speech "Amy">>Oh my gawd, it feels also so good on my tits... Fuck the massage oil, I can't believe I finally found a better potion to make my boobs softer and bigger! No need for returning to the forest, I want you to smear my watermelons with your sperm every day too!<</speech>>
<<if $SecretScenes == 1>>
<<linkappend2 "💎Take her on the table?" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/24.jpg">
Amy's dirty speech arouses you so much that you get hard again nearly instantly. Pleased by what she sees, Amy pushes you so that you lie on your back on the massage table. Then she mounts you!
<<speech "Amy">>Oh my... You're so virile! I didn't expect such endurance from a human, but we're going to have even more fun. I want to ride this magnificent cock so bad!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/25.webp">
<<speech "Amy">>Mmmh completely inside, you fill me so deep! Be prepared for the ride of your life my hero! Yes look at my eyes while I fuck you hard!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/AmyHouse/Massage/26.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
After a few strokes with her hips, Amy crouches on your cock!
<<speech "Amy">>Oh yes, this way it'll enter even deeper, and I'll be able to dance on your pole with more strength! Enjoy the view of my boucing tits while I impale myself!<</speech>>
<<linkappend2 "Cum in her pussy?" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/27.jpg">
<<speech "Amy">>Yes Yes Yes it's so good! I can feel that you already want to cum in me my saviour, please don't hold back!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/28.jpg">
<<speech "Amy">>OOOOH yes give me your thick hot semen! Fill meeee!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/29.jpg">
<<speech "Amy">>Heaven! I can fill your sperm as it floods my womb! There is so much, this is so good. I'm such a lucky girl... Don't move and let me do... this is your reward after all...<</speech>>
<<linkappend2 "Continue to bang her?" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/30.webp">
Suddenly Amy starts to ride your cock again, with even more strength! She makes you become hard again for the second time in a row with her juicy, sperm-flooded cunt. As her tits bounce like never before...
<<speech "Amy">>OH YES TAKE ME! Hard again? You're such a fabulous lover! Ha! Ha! Ha! MORE! MORE! BURP! Ooopsie scuse me, I ate so much cum that I can't keep it all...<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/AmyHouse/Massage/31.jpg">
The view of Amy spitting cum on her big bouncing tits as she rides you at incredible space makes you ejaculate for the third time!!
<<speech "Amy">>Spurt! Burp! Yum! Love to see me with mouth full of your milk, right? OH YES! CUM IN ME AGAIN! This is the best fuck I had in months my friend! YEEEES! We must definitely do it again!!<</speech>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>><</linkappend2>><</linkappend2>>
<<else>>
<div class="disabled-button">💎Exclusif scenes (Take her on the table!)</div>
<<endif>>
[[Leave|Amy's House]]
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<<if getQuestProgress("Transform 5 women for the witch.") == 0 and $WitchRelation == 0>>
<<linkappend2 "📜Quest : Transform women" "Text" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
<<speech "Witch">>Oh, really? You want help? Transform 5 women in the forest and then return.<</speech>>
<<run addQuest("Transform 5 women for the witch.",5)>>
<<run incrementQuestProgress("Transform 5 women for the witch.")>>
<</linkappend2>>
<</if>>
<<if getQuestProgress("Transform 5 women for the witch.") >= 4 and $WitchRelation == 1>>
<<linkappend2 "📜Quest : Transform Finished" "" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
<<speech "Witch">>OH ! Thanks... we need to celebrat that... come with me...<</speech>>
<<set $WitchRelation = 2>>
<<run removeQuest("Transform 5 women for the witch.")>>
<<include "relationshipIcon">>
[[💦Tits-Semen]]
<</linkappend2>>
<</if>>
<<if $WitchRelation <= 1>>
<div class="disabled-button">💦 Tits-Semen. (Need Witch: ❤️❤️🖤)</div>
<<else>>
[[💦Tits-Semen]]
<<endif>>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Forest/Witch/TitsJob/0.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Witch">>I've a request, sir. It's a bit embarrassing, so don't judge me please... Sigh. I'd need semen from a powerful mage for brewing my potions... It's a great ingredient. I think YOU could help.<</speech>>
<<linkappend2 "But I told you, I'm not a mage; and certainly not powerful!">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/TitsJob/00.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Witch">>I'm not surprised by your reserve and humility, you're an honorable man. Ooops sorry please don't mind my tits, this outfit's definitely too tight. Ha, ha! So, can I at least test your sperm one time? In any case, I'll make you feel good during the harvest...<</speech>>
<<linkappend2 "Yes please... Harvest my semen">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/TitsJob/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Witch">>I knew I could count on you. Now stop forcing yourself to stare at my eyes and look how I shake my big boobs. Does it make you hard? Of course it does. Good, now show me your cock, so that we can start the harvest.<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/2.png">
<<speech "Witch">>OH! Beautiful specimen sir! I shouldn't be impressed, it's exactly what I expected from a powerful being like you. Don't worry, I'll take care of that marvel. Oh my god, I'm really sorry sir, it's so thrilling, I have to taste it. Can I?<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/2.webp">
<<speech "Witch">>Thank you so much! GLOP!!! MMMMhhh that's no small piece of meat! And it tastes so gewd! I mean... I'm certain the semen will be perfect for my potions! Let me taste it again... It's to be sure it's hard enough for the harvest! SHLOP!<</speech>>
<<linkappend2 "Hey who was that? Behind you!">>
<<speech "Witch">>SHLOP! GLOK! YUM! Don't worry, villagers come from time to time to bring me food and herbs! SHLOP! Focus instead on my lips on your big cock! SLURP!<</speech>>
<<linkappend2 "OK please continue">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/3.jpg">
<<speech "Witch">>She is very hard, perfect. Such a beautiful thing. Look at my eyes, see how much I want your sperm. And now let me show you my favourite trick!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/3B.webp">
<<speech "Witch">>Here we go, right between my big fun bags! Nice, it's so big that it emerges from my boobs, I'll be able to lick and suck the tip while I titfuck you. That gonna be fun!!! Are you excited?<</speech>>
<<linkappend2 "Are you doing that for fun?">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/3C.webp">
<<speech "Witch">>NOOO! Absolutely not, I'm not a whore! Listen, I'm an alchemist, I always search new powerful ingredients to make the most helpful potions! If sperm is the best component, well, I must collect some. Do you think I'm too pushy, or too slutty, in my approach?<</speech>>
<<linkappend2 "Never mind, please proceed!">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/TitsJob/4.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Witch">>Oh I thought you'd never ask! Let's go then... I squeeze your massive pole between my watermelons just like that... Can you feel their soft skin on your meat? Yes you do... Then I lick the tip... SLURP!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/TitsJob/4B.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Witch">>It's very pleasant you know, the best part in my job, I could that all day long. Especially with such a big cock, it's made for titjobs! SLURP! SLRP!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/5.webp">
<<speech "Witch">>Already ready to cum? Very happy you appreciated my service. The best way to collect your semen is to ejaculate in my mouth. Please give it to me, I'll do the rest.<</speech>>
<<linkappend2 "Cum!">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = $("#volumeSlider").val() / 100 || 0.3;
soundEffect.play();
<</script>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/6.webp">
<<speech "Witch">>Oh my gosh sir, you're spurting your magic semen all over my face! I can feel how, thick, smelly, and potent it is, mmmmhhh... But I told you to come in my mouth! Let me help you...<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" <img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/7B.webp">
<<speech "Witch">>GLOP! SHLOP! Got it! A chance you're ejaculating so much! GULP! I may taste it a little bit if you don't mind! GULP! <</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/TitsJob/7.webp">
<<speech "Witch">>Damn, there's much more than what I needed. But please don't mind me, finish to plaster my face, I'm indebted to you after all... Sigh...<</speech>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>>
[[Return to he Forest|Enter the forest]]<<script>>
// Initialize combat variables
// Only set these values if not already defined or at start of combat
$(document).ready(function() {
// Reset enemy health at the start of each new combat
State.variables.enemyHealth = 100;
State.variables.combatOver = false;
// Initialize player stats only if they don't exist
if (typeof State.variables.Life === 'undefined') {
State.variables.Life = 100;
}
if (typeof State.variables.Mana === 'undefined') {
State.variables.Mana = 30;
}
if (typeof State.variables.Gold === 'undefined') {
State.variables.Gold = 0;
}
if (typeof State.variables.gold === 'undefined') {
State.variables.gold = State.variables.Gold;
}
// Update UI with current values
$("#enemy-health-bar").css("width", State.variables.enemyHealth + "%");
$("#enemy-health-text").text(State.variables.enemyHealth + "/100");
$("#player-health-bar").css("width", State.variables.Life + "%");
$("#player-health-text").text(State.variables.Life + "/100");
$("#life-progress").attr("value", State.variables.Life);
$("#player-mana-bar2").css("width", State.variables.Mana + "%");
$("#player-mana-text").text(State.variables.Mana + "/100");
$("#mana-progress").attr("value", State.variables.Mana);
});
// Sound effects
if (!window.combatSounds) {
window.combatSounds = {
physical: new Audio("MagicWorldOfBimbo/Sounds/sfx_punch1.ogg"),
magic: new Audio("MagicWorldOfBimbo/Sounds/Spell.wav"),
gold: new Audio("MagicWorldOfBimbo/Sounds/01-ShopBuy.ogg")
};
}
// Attack message arrays
window.attackMessages = {
physical: [
"You hit the enemy in the head!",
"You strike the enemy in the chest!",
"You attack the enemy's legs!",
"You wound the enemy's arm!",
"Your attack hits the enemy's shoulder!"
],
magic: [
"You cast a fireball at the enemy!",
"You unleash a lightning bolt!",
"You channel icy energy at the enemy!",
"A magical force strikes the enemy!",
"Your arcane blast hits the enemy!"
],
enemy: [
"The enemy hits you in the head!",
"The enemy strikes you in the chest!",
"The enemy attacks your legs!",
"The enemy wounds your arm!",
"The enemy's attack hits your shoulder!"
]
};
// Attack function
window.attackEnemy = function(attackType) {
// Safety check - ensure enemy health is properly initialized
if (typeof State.variables.enemyHealth === 'undefined' || State.variables.enemyHealth <= 0) {
State.variables.enemyHealth = 100;
$("#enemy-health-bar").css("width", State.variables.enemyHealth + "%");
$("#enemy-health-text").text(State.variables.enemyHealth + "/100");
}
if (State.variables.combatOver) return;
// Check if magic attack and enough mana
if (attackType === 'magic' && State.variables.Mana < 20) {
$("#damage-message").text("Not enough mana for magic attack! (need 20) You have only: " + State.variables.Mana);
return;
}
// Play appropriate sound based on attack type
let sound = (attackType === 'physical') ? window.combatSounds.physical : window.combatSounds.magic;
// Animations and sound
if (attackType === 'physical') {
$("#enemyImage").addClass("shake");
setTimeout(() => { $("#enemyImage").removeClass("shake"); }, 400);
} else {
$("#playerImage").addClass("magic-cast");
$("#enemyImage").addClass("shake");
setTimeout(() => {
$("#playerImage").removeClass("magic-cast");
$("#enemyImage").removeClass("shake");
}, 400);
// Use mana for magic attack
State.variables.Mana -= 20;
if (State.variables.Mana < 0) State.variables.Mana = 0;
$("#player-mana-bar2").css("width", State.variables.Mana + "%");
$("#player-mana-text").text(State.variables.Mana + "/100");
$("#mana-progress").attr("value", State.variables.Mana);
}
// Play sound
if (sound && sound.play) {
sound.currentTime = 0;
sound.play().catch(e => console.log("Audio error:", e));
}
// Calculate damage based on attack type
let playerDamage, enemyDamage;
switch(attackType) {
case 'physical':
playerDamage = Math.floor(Math.random() * 10) + (State.variables.Weapon*5); // 5-14 damage
break;
case 'magic':
playerDamage = Math.floor(Math.random() * 25) + 15; // 15-39 damage
break;
}
// Apply damage to enemy
State.variables.enemyHealth -= playerDamage;
if (State.variables.enemyHealth < 0) State.variables.enemyHealth = 0;
// Display player attack message
let msgArray = (attackType === 'physical') ? window.attackMessages.physical : window.attackMessages.magic;
let playerMsg = msgArray[Math.floor(Math.random() * msgArray.length)];
$("#damage-message").text(playerMsg + " (-" + playerDamage + " HP)");
// Update enemy health bar
$("#enemy-health-bar").css("width", State.variables.enemyHealth + "%");
$("#enemy-health-text").text(State.variables.enemyHealth + "/100");
// Check if enemy is defeated
if (State.variables.enemyHealth <= 0) {
// Enemy defeated - make enemy video grayscale with transition
$("#enemyImage").addClass("defeated");
// Calculate gold reward
let goldReward = Math.floor(Math.random() * 41) + 10; // Random between 10 and 50
State.variables.Gold += goldReward;
State.variables.gold = State.variables.Gold; // Synchronize gold variables
// Update gold display
$("#player-gold-text").text(State.variables.Gold);
$("#stat-value gold-value").text(State.variables.gold);
$(".gold-value").html("🪙" + State.variables.gold);
// Show gold reward message
$("#damage-message").removeClass("damage-message").addClass("gold-reward")
.html(`You defeated the enemy!<br>You found <strong>${goldReward}</strong> gold coins!`);
// Play gold sound if available
if (window.combatSounds.gold && window.combatSounds.gold.play) {
window.combatSounds.gold.currentTime = 0;
window.combatSounds.gold.play().catch(e => console.log("Audio error:", e));
}
// Enemy defeated - show victory actions
State.variables.combatOver = true;
$("#combat-controls").html(`
<div style="text-align: center; color: green; margin-top: 20px;">
<strong>Victory!</strong>
</div>
<div class="combat-actions" id="after-combat-actions">
<div class="continue-button" id="continue-button">Continue Adventure</div>
<div class="return-button" id="return-button">Return to Village</div>
</div>
`);
// Clear existing handlers to prevent double bindings
$(document).off("click", "#continue-button");
$(document).off("click", "#return-button");
// Add event listeners for new buttons
$(document).on("click", "#continue-button", function() {
Engine.play("Deep-Forest2");
});
$(document).on("click", "#return-button", function() {
Engine.play("Village");
});
}
// If enemy is still alive, they counter-attack
else {
setTimeout(() => {
// Calculate enemy damage here, instead of earlier
enemyDamage = Math.floor(Math.random() * 16) - (State.variables.Armor*2); // 5-16 damage
// Enemy attack animation - shake ONLY the player image
$("#playerImage").addClass("shake");
if (window.combatSounds.physical && window.combatSounds.physical.play) {
window.combatSounds.physical.currentTime = 0;
window.combatSounds.physical.play().catch(e => console.log("Audio error:", e));
}
setTimeout(() => { $("#playerImage").removeClass("shake"); }, 400);
// Enemy attacks - apply damage
State.variables.Life -= enemyDamage;
if (State.variables.Life < 0) State.variables.Life = 0;
// Display enemy attack message
let enemyMsg = window.attackMessages.enemy[Math.floor(Math.random() * window.attackMessages.enemy.length)];
$("#damage-message").text(enemyMsg + " (-" + enemyDamage + " HP)");
// Update player health bar
$("#player-health-bar").css("width", State.variables.Life + "%");
$("#player-health-text").text(State.variables.Life + "/100");
$("#life-progress").attr("value", State.variables.Life);
// Check if combat is over - player died
if (State.variables.Life <= 0) {
State.variables.combatOver = true;
$("#combat-controls").html(`
<div style="text-align: center; color: red; margin-top: 20px;">
<strong>You have been defeated!</strong>
</div>
<div class="return-button" id="defeat-return">Return to Village</div>
`);
// Clear existing handler to prevent double bindings
$(document).off("click", "#defeat-return");
$(document).on("click", "#defeat-return", function() {
// Reset health before returning to village
State.variables.Life = 1;
Engine.play("Village");
});
}
}, 250);
}
};
// Add event handlers for buttons - first remove any existing handlers
$(document).ready(function() {
// Clear existing handlers
$(document).off("click", "#attack-physical");
$(document).off("click", "#attack-magic");
$(document).off("click", "#escape-button");
// Add new handlers
$(document).on("click", "#attack-physical", function() {
attackEnemy('physical');
});
$(document).on("click", "#attack-magic", function() {
attackEnemy('magic');
});
$(document).on("click", "#escape-button", function() {
Engine.play("Enter the forest");
});
});
<</script>><<playaudio "MagicWorldOfBimbo/Music/DeepForestBattle.mp3">>
<<set _randomImg = Math.floor(Math.random() * 6)>>
<<if $AmyRelation > 3>>
<<set _randomImg = Math.floor(Math.random() * 7)>>
<</if>>
<span id="tempMessage">
A hostile creature...
</span>
<<timed 1.0s>>
<<replace "#tempMessage">>⚔ A hostile creature emerges before you...<br><</replace>><br><br>
/* CSS for health bars and animations */
<style>
.combat-container {
display: flex;
justify-content: space-between;
margin-bottom: 20px;
color: white;
}
.defeated {
filter: grayscale(100%);
transition: filter 1s ease-in-out;
}
.character-container {
width: 45%;
height: 400px;
text-align: center;
}
.character-image {
max-width: 100%; /* L'image ne dépassera pas la largeur de son parent */
max-height: 100%; /* L'image ne dépassera pas la hauteur de son parent */
display: block; /* S'assure que l'image se comporte comme un bloc */
object-fit: contain; /* C'est la propriété clé ! */
/* preserve-3d; <-- Ceci n'est pas une propriété CSS valide pour les images dans ce contexte, on peut la supprimer */
}
.health-bar, .mana-bar2 {
width: 100%;
background-color: #ddd;
border-radius: 5px;
padding: 3px;
margin-bottom: 5px;
box-shadow: 0 0 5px rgba(0,0,0,0.3);
}
.health-bar-inner {
background-color: #4CAF50;
height: 20px;
border-radius: 3px;
transition: width 0.5s;
}
.mana-bar2-inner {
background-color: #2196F3;
height: 20px;
border-radius: 3px;
transition: width 0.5s;
}
.enemy-health-bar-inner {
background-color: #F44336;
}
.stats-text {
color: white;
font-weight: bold;
text-shadow: 1px 1px 2px black;
}
.damage-message {
border: 2px solid white;
padding: 10px;
margin: 15px 0;
background-color: #0066cc;
text-align: center;
color: white;
font-weight: bold;
box-shadow: 0 0 10px rgba(0,0,0,0.5);
}
.gold-reward {
border: 2px solid gold;
padding: 10px;
margin: 15px 0;
background-color: #663300;
text-align: center;
color: gold;
font-weight: bold;
box-shadow: 0 0 10px rgba(0,0,0,0.5);
animation: goldShine 2s ease-in-out;
}
.shake {
animation: shake 0.5s;
}
.magic-cast {
animation: pulse 1s;
}
.combat-actions {
display: flex;
flex-direction: column;
margin-top: 20px;
gap: 10px;
}
.combat-button {
background-color: #8A2BE2;
color: white;
padding: 10px;
border-radius: 5px;
text-align: center;
cursor: pointer;
font-weight: bold;
box-shadow: 0 0 5px rgba(0,0,0,0.5);
}
.continue-button {
background-color: #4CAF50;
color: white;
padding: 10px;
border-radius: 5px;
text-align: center;
cursor: pointer;
font-weight: bold;
box-shadow: 0 0 5px rgba(0,0,0,0.5);
margin-top: 10px;
}
.return-button {
background-color: #FF9800;
color: white;
padding: 10px;
border-radius: 5px;
text-align: center;
cursor: pointer;
font-weight: bold;
box-shadow: 0 0 5px rgba(0,0,0,0.5);
margin-top: 10px;
}
.combat-button:hover, .continue-button:hover, .return-button:hover {
filter: brightness(1.1);
}
.magic-button {
background-color: #4E42B3;
}
.escape-button {
background-color: #FF5722;
}
@keyframes shake {
0%, 100% { transform: translateX(0); }
10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
20%, 40%, 60%, 80% { transform: translateX(5px); }
}
@keyframes pulse {
0% { transform: scale(1); filter: brightness(1); }
50% { transform: scale(1.05); filter: brightness(1.5); }
100% { transform: scale(1); filter: brightness(1); }
}
@keyframes goldShine {
0% { box-shadow: 0 0 5px rgba(255,215,0,0.3); }
50% { box-shadow: 0 0 25px rgba(255,215,0,0.8); }
100% { box-shadow: 0 0 5px rgba(255,215,0,0.3); }
}
</style>
/* Initialize combat variables - CORRECTED CODE */
<<if typeof $hasInit === 'undefined'>>
<<set $hasInit = true>>
<<set $enemyHealth = 100>>
<<if typeof State.variables.Life === 'undefined'>>
<<set State.variables.Life = 100>>
<</if>>
<<if typeof State.variables.Mana === 'undefined'>>
<<set State.variables.Mana = 100>>
<</if>>
<<if typeof State.variables.Gold === 'undefined'>>
<<set State.variables.Gold = 0>>
<</if>>
<</if>>
/*<<set $enemyHealth = 57>> Force enemy health to be set for combat */
<<set $combatOver = false>>
/* Health bars and character images */
<div class="combat-container">
<div class="character-container">
<img id="playerImage" class="character-image" @src="$YouPics" alt="Player">
<strong>Your Health</strong>
<div class="health-bar">
<div id="player-health-bar" class="health-bar-inner" style="width: <<= State.variables.Life >>%"></div>
</div>
<span id="player-health-text" class="stats-text"><<= State.variables.Life >>/100</span>
</div>
<div class="character-container">
<<print '<video width="100%" height="55%" id="enemyImage" class="character-image" style="object-fit: cover; object-position: center;border-radius: 15px;" playsinline autoplay loop muted alt="Enemy" id="enemy-img">' +
'<source src="MagicWorldOfBimbo/Forest/DeepForest/' + _randomImg + '.mp4" type="video/mp4">' + 'Your browser does not support the video tag.</video>'>>
<strong>Enemy Health</strong>
<div class="health-bar">
<div id="enemy-health-bar" class="health-bar-inner enemy-health-bar-inner" style="width: <<= $enemyHealth >>%"></div>
</div>
<span id="enemy-health-text" class="stats-text"><<= $enemyHealth >>/100</span>
</div>
</div>
/* Combat message */
<div id="damage-message" class="damage-message">...</div>
<div id="combat-controls">
<<if !$combatOver>>
/* Combat actions */
<div class="combat-actions">
<<if _randomImg == 5>>
[[Transform the man Wolf|MeetWolf]]
<</if>>
<<if _randomImg == 6>>
[[Transform the girl Wolf|TransformFemaleWolf]]
<</if>>
<div class="combat-button" id="attack-physical">⚔️ Physical Attack</div>
<div class="combat-button magic-button" id="attack-magic">✨ Magic Attack</div>
<div class="combat-button escape-button" id="escape-button">🏃 Escape</div>
</div>
<<else>>
<div class="combat-actions" id="after-combat-actions">
<div class="continue-button" id="continue-button">Continue Adventure</div>
<div class="return-button" id="return-button">Return to Village</div>
</div>
<</if>>
</div>
<<include CombatSys>>
<</timed>><<set _randomImg = Math.floor(Math.random() * 9)>>
<<print '<video width="100%" height="30%" playsinline autoplay loop muted>' +
'<source src="MagicWorldOfBimbo/Village/Guild/Farmer/' + _randomImg + '.mp4" type="video/mp4">' +
'Your browser does not support the video tag.</video>'>>
<<if $FarmerSeedCount == 1>>
<<speech "Farmer">>Oh, great, a new recruit! Sorry, if I knew you'd come, I'd have covered my big butt a bit more. But I needed to mitigate my farmer tan you know? Anyway, now you're here I won't be short of sunscreen!<</speech>>
<<linkappend2 "Sunscreen? But I don't..." "NospeechScroll">>
<<set _randomImg = Math.floor(Math.random() * 9)>>
<<print '<video width="100%" height="30%" playsinline autoplay loop muted>' +
'<source src="MagicWorldOfBimbo/Village/Guild/Farmer/' + _randomImg + '.mp4" type="video/mp4">' +
'Your browser does not support the video tag.</video>'>>
<<speech "Farmer">>Just kidding of course. I hope my muscles didn't scare you. Welcome to my farm, I'm very proud of making grow the hugest 'eggplants' in the region. I just know how to make them big and hard!<</speech>>
<<linkappend2 "Very interesting. But regarding the job?" "NospeechScroll">>
<<set _randomImg = Math.floor(Math.random() * 9)>>
<<print '<video width="100%" height="30%" playsinline autoplay loop muted>' +
'<source src="MagicWorldOfBimbo/Village/Guild/Farmer/' + _randomImg + '.mp4" type="video/mp4">' +
'Your browser does not support the video tag.</video>'>>
<<speech "Farmer">>I'll ensure you'll enjoy your stay at the farm! You'll see that here it's easy to plant seeds and harvest huge, sweet mellons! You just need to have firm hands and good tools. Do you want to start? Seeds need to be planted now!<</speech>>
<</linkappend2>>
<</linkappend2>>
<</if>>
<<if $FarmerSeedCount > 1>>
<<speech "Farmer">> It's incredible, you made $FarmerSeedCount beautiful plantations (Need 5 for Guild Pts). Continue like this, and I could require you plant your seed in the deepest, tightest and wettest hole of this estate. Between its highest hills...
<</speech>>
<</if>>
<<if getQuestProgress("Become an elite in the guild.") == 1 and $FarmerSeedCount > 4>>
<<linkappend2 "📜Update Quest : Become an elite in the guild." "" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
<<speech "Farmer">>Five times you've helped me! As a reward, here's 10 guild points. Return for deeper bonuses... 🍆<</speech>>
<<run updateQuestProgress("Become an elite in the guild.",10)>>
<<run refreshQuestDisplay()>>
<<include "relationshipIcon">>
<</linkappend2>>
<</if>>
[[Plant|Plante]]
<<if $FanCode == 1>>[[✨Sex reward!]]<<endif>>
<<if $FanCode == 0>><div class="disabled-button">Sex reward! <a href="https://doctorbimbo.itch.io/magic-world-of-bimbo" target="blank">✨ Support Us ✨</a></div>\<<endif>>
[[Back to the guild|Guild]]<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Guild/Warrior/0.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Character">>Just a moment, I'm finishing my exercises!
<</speech>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Guild/Warrior/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Character">>Sorry, I don't have any missions yet. Come back in the next game update. If you want to see more, support the dev!
<</speech>>
<a href="https://doctorbimbo.itch.io/magic-world-of-bimbo" target="blank">✨ Support Us ✨</a>
[[Back to the guild|Guild]]Your avatar :
<div class="avatar-selection">
<div class="avatar-option">
<img src="MagicWorldOfBimbo/Avatar/You/0.jpg" >
<button class="select-btn" data-avatar="MagicWorldOfBimbo/Avatar/You/0.jpg" >Select</button>
</div>
<div class="avatar-option">
<img src="MagicWorldOfBimbo/Avatar/You/1.jpg" width="300px" height="200px">
<button class="select-btn" data-avatar="MagicWorldOfBimbo/Avatar/You/1.jpg">Select</button>
</div>
<div class="avatar-option">
<img src="MagicWorldOfBimbo/Avatar/You/2.jpg" width="300px" height="200px">
<button class="select-btn" data-avatar="MagicWorldOfBimbo/Avatar/You/2.jpg">Select</button>
</div>
<div class="avatar-option">
<img src="MagicWorldOfBimbo/Avatar/You/3.jpg">
<button class="select-btn" data-avatar="MagicWorldOfBimbo/Avatar/You/3.jpg">Select</button>
</div>
<div class="avatar-option">
<img src="MagicWorldOfBimbo/Avatar/You/4.jpg">
<button class="select-btn" data-avatar="MagicWorldOfBimbo/Avatar/You/4.jpg">Select</button>
</div>
<div class="avatar-option">
<img src="MagicWorldOfBimbo/Avatar/You/5.jpg">
<button class="select-btn" data-avatar="MagicWorldOfBimbo/Avatar/You/5.jpg">Select</button>
</div>
<div class="avatar-option">
<img src="MagicWorldOfBimbo/Avatar/You/6.jpg">
<button class="select-btn" data-avatar="MagicWorldOfBimbo/Avatar/You/6.jpg">Select</button>
</div>
<div class="avatar-option">
<img src="MagicWorldOfBimbo/Avatar/You/7.jpg">
<button class="select-btn" data-avatar="MagicWorldOfBimbo/Avatar/You/7.jpg">Select</button>
</div>
</div>
<style>
.avatar-selection {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 0px;
margin: 0px 0;
}
.avatar-option {
display: flex;
flex-direction: column;
align-items: center;
width: 120px;
}
.avatar-option img {
width: 100px; /* Taille uniforme pour toutes les images */
height: 100px; /* Taille uniforme pour toutes les images */
min-height: 200px;
min-width: 100px;
border-radius: 50%;
margin-bottom: 10px;
cursor: pointer;
object-fit: cover; /* Pour assurer que l'image couvre bien le cercle */
border: 3px solid transparent; /* Bordure pour indiquer la sélection */
transition: border-color 0.3s;
border-style: solid;
border-color: #fff;
}
.avatar-option.selected img {
border-color: gold; /* Bordure dorée pour l'avatar sélectionné */
}
.select-btn {
background-color: #1e3a8a;
color: white;
border: none;
border-radius: 4px;
padding: 5px 10px;
cursor: pointer;
transition: background-color 0.3s;
width: 100px; /* Largeur fixe pour tous les boutons */
text-align: center;
}
.select-btn:hover {
background-color: #1e40af;
}
/* Pour indiquer l'avatar actuellement sélectionné */
.avatar-option.selected .select-btn {
background-color: gold;
color: black;
}
.path-display {
margin: 20px auto;
padding: 10px;
background-color: #f0f0f0;
border: 1px solid #ccc;
border-radius: 4px;
max-width: 80%;
display: none; /* Caché par défaut */
text-align: center;
font-weight: bold;
}
.path-btn {
background-color: #4a5568;
color: white;
border: none;
border-radius: 4px;
padding: 8px 15px;
cursor: pointer;
margin: 10px auto;
display: block;
}
.path-btn:hover {
background-color: #2d3748;
}
</style>
<<script>>
$(document).on('click', '.select-btn', function() {
var imagePath = $(this).data('avatar');
State.variables.YouPics = imagePath;
$(document).find('.You .avatar').css('background-image', 'url(' + imagePath + ')');
// Mise à jour visuelle du bouton et de l'image sélectionnés
$('.avatar-option').removeClass('selected');
$(this).parent().addClass('selected');
// Mettre à jour le chemin affiché
$('#current-path').text(imagePath);
// Afficher automatiquement le chemin quand un avatar est sélectionné
$('.path-display').show();
});
$(document).on('click', '#show-path', function() {
$('.path-display').toggle();
if ($('.path-display').is(':visible')) {
$(this).text('Masquer le chemin');
} else {
$(this).text('Afficher le chemin');
}
});
// Effet de zoom en cliquant sur l'image (optionnel)
$(document).on('click', '.avatar-option img', function() {
// Simuler un clic sur le bouton "Sélectionner" correspondant
$(this).siblings('.select-btn').click();
});
<</script>>
[[Back|Options]]Suddenly a terrifying werewolf emerges from the undergrowth. It is the same creatures which hunted you down when you met Elena and her sisters for the first time!
Grrrahhhorrrr!
Facing such a powerful foe, you must act immediately if you want to stand and chance and survive...
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/DeepForest/Man-Wolf/1.jpg">
<<set _randomImg = Math.floor(Math.random() * 100)>>
<br>
<<if _randomImg >= 80>>
<<linkappend2 "🪄 Cast the spell!" Nospeech>>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Spell.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<<set $Mana -= 20>>
Cost 🧪: Mana - 20
<span class="bounce"><span class="gradient-text"><H1>
The spell has failed. Curiously, the werewolf doesn't kill you and leaves.</H1></span></span>
<</linkappend2>>
<</if>>
<<if _randomImg < 80>>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Spell.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<<linkappend2 "🪄Lupo Transformis Homino!">>
Cost 🧪: Mana - 20
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/DeepForest/Man-Wolf/2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<run incrementQuestProgress("Transform the wolf.")>>
The werewolf gradually transforms into a human male... And not just any male...
<<set $Mana -= 20>>
<<speech "Wolf">>Hhuahhh! Thanks for helping me get my original form back, I prefer like this... And I don't want to butcher and eat you anymore, ha, ha, ha!<</speech>>
<<linkappend2 "Very good. But you caused a lot of trouble when you were transformed. Would you mind not scaring at least the village's elf women anymore?" >>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/DeepForest/Man-Wolf/3.jpg">
<<speech "Wolf">>"Certainly! I want to make aments for the terror I caused. I'm going to go into town right now and personally apologize to each of the women..."<</speech>>
<<linkappend2 "Oh? So kind of you... But a... big boy like you don't have to... move in person...">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/DeepForest/Man-Wolf/4.jpg">
<<speech "Wolf">>Not what you want? I thought you wanted me to reassure these poor terrified girls. They must feel so insecure, they need for help.<</speech>>
<<linkappend2 "Yes, sure, see you...">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/DeepForest/Man-Wolf/5.jpg">
<<speech "Wolf">>Oh, when I'm in town with the Elf women, could you please save my werewolf girlfirend? I'd like her to return too.<</speech>>
<<speech "You">>I can do that... I wouldn't want you to feel alone whereas you ALREADY have a girlfriend...<</speech>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</if>>
[[Leave|Enter the forest]]
<style>
.bounce {
display: inline-block;
animation: bounce 0.5s infinite;
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
/* Purchase container */
.purchase-container {
position: relative;
overflow: hidden;
margin-bottom: 10px;
}
.purchase-image {
animation: pulse 0.8s ease-in-out;
}
.purchase-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
@keyframes pulse {
0% { filter: brightness(1); }
50% { filter: brightness(1.8); }
100% { filter: brightness(1); }
}
/* Magic effects container */
.magic-effect-container {
position: absolute;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
z-index: 10;
overflow: hidden;
}
/* Main magic circle */
.magic-circle {
position: absolute;
width: 10px;
height: 10px;
border-radius: 50%;
background-color: rgba(100, 200, 255, 0.1);
box-shadow: 0 0 15px 8px rgba(100, 200, 255, 0.4),
inset 0 0 15px 8px rgba(100, 200, 255, 0.4);
border: 3px solid rgba(150, 230, 255, 0.7);
transform: scale(0);
opacity: 0;
animation: circleExpand 2s forwards;
}
@keyframes circleExpand {
0% {
transform: scale(0) rotate(0deg);
opacity: 0;
}
20% {
opacity: 0.95;
}
70% {
transform: scale(20) rotate(180deg);
opacity: 0.8;
border-width: 3px;
}
100% {
transform: scale(30) rotate(360deg);
opacity: 0;
border-width: 1px;
}
}
/* Magic circle after element - FIXED POSITIONING */
.magic-circle::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 130%;
height: 130%;
border-radius: 50%;
border: 2px dashed rgba(200, 240, 255, 0.6);
transform: translate(-50%, -50%);
animation: rotateCircle 3s linear infinite;
}
@keyframes rotateCircle {
0% { transform: translate(-50%, -50%) rotate(0deg); }
100% { transform: translate(-50%, -50%) rotate(360deg); }
}
/* Magic rays */
.magic-rays {
position: absolute;
width: 200%;
height: 200%;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0.5) rotate(0deg);
background:
repeating-conic-gradient(
rgba(150,230,255,0) 0deg,
rgba(150,230,255,0) 18deg,
rgba(150,230,255,0.3) 20deg
);
border-radius: 50%;
opacity: 0;
animation: raysEffect 2.5s forwards;
animation-delay: 0.5s;
}
@keyframes raysEffect {
0% {
opacity: 0;
transform: translate(-50%, -50%) scale(0.5) rotate(0deg);
}
20% {
opacity: 0.7;
transform: translate(-50%, -50%) scale(0.7) rotate(30deg);
}
80% {
opacity: 0.4;
transform: translate(-50%, -50%) scale(1) rotate(70deg);
}
100% {
opacity: 0;
transform: translate(-50%, -50%) scale(1.2) rotate(90deg);
}
}
/* Magic aura */
.magic-aura {
position: absolute;
width: 100%;
height: 100%;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0.5);
border-radius: 50%;
background: radial-gradient(
ellipse at center,
rgba(100,200,255,0.4) 0%,
rgba(100,200,255,0.1) 50%,
rgba(100,200,255,0) 70%
);
opacity: 0;
filter: blur(5px);
animation: auraPulse 2s forwards;
animation-delay: 0.2s;
}
@keyframes auraPulse {
0% {
opacity: 0;
transform: translate(-50%, -50%) scale(0.5);
}
30% {
opacity: 0.8;
transform: translate(-50%, -50%) scale(1);
}
70% {
opacity: 0.6;
transform: translate(-50%, -50%) scale(1.5);
}
100% {
opacity: 0;
transform: translate(-50%, -50%) scale(2);
}
}
/* Blue glow effect */
.purchase-container::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(100,200,255,0.1);
animation: blueGlow 2.5s forwards;
}
@keyframes blueGlow {
0% {
backdrop-filter: blur(0px);
background: rgba(100,200,255,0);
}
30% {
backdrop-filter: blur(3px);
background: rgba(100,200,255,0.4);
}
70% {
backdrop-filter: blur(2px);
background: rgba(150,230,255,0.2);
}
100% {
backdrop-filter: blur(0px);
background: rgba(100,200,255,0);
}
}
.gradient-text {
background: linear-gradient(90deg, red, orange, yellow, green, orange, red, violet);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
display: block;
margin-left: 10ch;
}
.bounce {
display: inline-block;
animation: bounce 0.5s infinite;
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
</style>Grrrahhhouuuhhh! You nearly bump into another werewolf, but she doesn't look menacing at all, even all the contrary. Wiggling her hips and sticking out her ample chest, she seems to wait for something...
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/DeepForest/Girl-Wolf/0.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Character" She-Wolf>>Mate... Wouhou... me search my mate! Have to... drain him ... my... duty... me good she-wolf!<</speech>>
<<set _randomImg = Math.floor(Math.random() * 100)>>
<br>
<<if _randomImg >= 80>>
<<linkappend2 "Cast the spell!" Nospeech>>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Spell.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<<set $Mana -= 20>>
Cost 🧪: Mana - 20
<span class="bounce"><span class="gradient-text"><H1>
The spell has failed. The female werewolf leaves.</H1></span></span>
<</linkappend2>>
<</if>>
<<if _randomImg < 80>>
<<linkappend2 "Cast the spell!!" Nospeech>>
<span class="gradient-text">Cost 🧪: Mana - 20</span>
<div class="purchase-container">
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/DeepForest/Girl-Wolf/3.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<div class="purchase-overlay">
<div class="magic-effect-container">
<div class="magic-circle"></div>
<div class="magic-aura"></div>
<div class="magic-rays"></div>
<div class="magic-energy"></div>
</div>
</div>
</div>
The she-wolf gradually transforms into an absolutely stunning human bombshell!
<<set $Mana -= 20>>
<<speech "Character" She-Wolf>>OOOOH wow what!?<</speech>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/DeepForest/Girl-Wolf/4.png">
<<speech "Character" She-Wolf>>I am... human again!? I can't believe it... At long last I'm freed from this curse... It's been so long...<</speech>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/DeepForest/Girl-Wolf/5.png">
<<speech "Character" She-Wolf>>You saved me? Thank you sir, thank you so much. You're my hero. But I feel deep down... That I have still something to do... I must find my alpha male to...<</speech>>
<<speech "You">>Don't worry, I rescued him earlier, he's in the village.<</speech>>
<<speech "Character" She-Wolf>>OK but what about my duty? I must do it as soon as possible... But fortunately YOU are here...<</speech>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/DeepForest/Girl-Wolf/6.png">
<<speech "Character" She-Wolf>>It's decided! I'm going to drain your balls so that I'll be free from doing my duty. Then I'll follow you to the village!<</speech>>
<<linkappend "Great idea, here's my cock!">>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/DeepForest/Girl-Wolf/Sex/1.jpg">
<<speech "Character" She-Wolf>>Don't worry it won't last long, my hero, I'm used to do that several times a day with my alpha male.... even if I must admit your cock is much bigger than his!<</speech>>
<img width="100%" height="30%" <img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/DeepForest/Girl-Wolf/Sex/2.jpg">
<<speech "Character" She-Wolf>>Slurp! Shlop! It tastes good! Slrp! It gonna be very enjoyable! Slurp!<</speech>>
<img width="100%" height="30%" <img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/DeepForest/Girl-Wolf/Sex/3.jpg">
<<speech "Character" She-Wolf>>Oh I must try to take it all in my mouth! At least a challenge! SLUUURP! GLOP! GULP!<</speech>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/DeepForest/Girl-Wolf/Sex/4.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
With amazing ease, she engulfs your big cock entirely. You've never been deepthroated so easily and feel you won't resist long her delicious suction...
<<speech "Character" She-Wolf>>GLOG! GLOK! KOPF!<</speech>>
<<linkappend "Cumming">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<img width="100%" height="30%" <img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/DeepForest/Girl-Wolf/Sex/5.webp">
As you're ejaculating, she looks at you in the eyes, to make you feel how focused on swallowing your semen she is.
<img width="100%" height="30%" <img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/DeepForest/Girl-Wolf/Sex/6.webp">
However, even a trained sperm eater like her struggles to swallow all the goo you release right now. Your sperm erupts from her naughty mouth despite all her efforts!
<img width="100%" height="30%" <img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/DeepForest/Girl-Wolf/Sex/7.jpg">
But it doesn't discourage her, and she thoroughly continues to deepthroat you to catch every drop of semen.
<<speech "Character" She-Wolf>>GULP! SLURP! HMMM! YUMMY!<</speech>>
<img width="100%" height="30%" <img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/DeepForest/Girl-Wolf/Sex/8.jpg">
<<speech "Character" She-Wolf>>Thank you so much sir! There's so much more than with my alpha! GULP! So thicker, so tastier! YUMMY! SLURP! Now I can follow you to the village... But I'll need some help, I feel unsecure. <</speech>>
<img width="100%" height="30%" <img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/DeepForest/Girl-Wolf/7.png">
The woman refuses to move until you uses a leash to guide her... Now she follows you happily, like a good bitch.
<img width="100%" height="30%" <img width="100%" height="30%" src="MagicWorldOfBimbo/Forest/DeepForest/Man-Wolf/4.jpg">
You couldn't imagine that behind you, someone who suspiciously followed you is very angry about what you did to his mate... And starts to ruminate on a revenge.
<</linkappend>>
<</linkappend>>
[[Back to the forest|Enter the forest]]
<</linkappend2>>
<</if>>
[[Leave|Enter the forest]]
<style>
.bounce {
display: inline-block;
animation: bounce 0.5s infinite;
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
/* Purchase container */
.purchase-container {
position: relative;
overflow: hidden;
margin-bottom: 10px;
}
.purchase-image {
animation: pulse 0.8s ease-in-out;
}
.purchase-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
@keyframes pulse {
0% { filter: brightness(1); }
50% { filter: brightness(1.8); }
100% { filter: brightness(1); }
}
/* Magic effects container */
.magic-effect-container {
position: absolute;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
z-index: 10;
overflow: hidden;
}
/* Main magic circle */
.magic-circle {
position: absolute;
width: 10px;
height: 10px;
border-radius: 50%;
background-color: rgba(100, 200, 255, 0.1);
box-shadow: 0 0 15px 8px rgba(100, 200, 255, 0.4),
inset 0 0 15px 8px rgba(100, 200, 255, 0.4);
border: 3px solid rgba(150, 230, 255, 0.7);
transform: scale(0);
opacity: 0;
animation: circleExpand 2s forwards;
}
@keyframes circleExpand {
0% {
transform: scale(0) rotate(0deg);
opacity: 0;
}
20% {
opacity: 0.95;
}
70% {
transform: scale(20) rotate(180deg);
opacity: 0.8;
border-width: 3px;
}
100% {
transform: scale(30) rotate(360deg);
opacity: 0;
border-width: 1px;
}
}
/* Magic circle after element - FIXED POSITIONING */
.magic-circle::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 130%;
height: 130%;
border-radius: 50%;
border: 2px dashed rgba(200, 240, 255, 0.6);
transform: translate(-50%, -50%);
animation: rotateCircle 3s linear infinite;
}
@keyframes rotateCircle {
0% { transform: translate(-50%, -50%) rotate(0deg); }
100% { transform: translate(-50%, -50%) rotate(360deg); }
}
/* Magic rays */
.magic-rays {
position: absolute;
width: 200%;
height: 200%;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0.5) rotate(0deg);
background:
repeating-conic-gradient(
rgba(150,230,255,0) 0deg,
rgba(150,230,255,0) 18deg,
rgba(150,230,255,0.3) 20deg
);
border-radius: 50%;
opacity: 0;
animation: raysEffect 2.5s forwards;
animation-delay: 0.5s;
}
@keyframes raysEffect {
0% {
opacity: 0;
transform: translate(-50%, -50%) scale(0.5) rotate(0deg);
}
20% {
opacity: 0.7;
transform: translate(-50%, -50%) scale(0.7) rotate(30deg);
}
80% {
opacity: 0.4;
transform: translate(-50%, -50%) scale(1) rotate(70deg);
}
100% {
opacity: 0;
transform: translate(-50%, -50%) scale(1.2) rotate(90deg);
}
}
/* Magic aura */
.magic-aura {
position: absolute;
width: 100%;
height: 100%;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0.5);
border-radius: 50%;
background: radial-gradient(
ellipse at center,
rgba(100,200,255,0.4) 0%,
rgba(100,200,255,0.1) 50%,
rgba(100,200,255,0) 70%
);
opacity: 0;
filter: blur(5px);
animation: auraPulse 2s forwards;
animation-delay: 0.2s;
}
@keyframes auraPulse {
0% {
opacity: 0;
transform: translate(-50%, -50%) scale(0.5);
}
30% {
opacity: 0.8;
transform: translate(-50%, -50%) scale(1);
}
70% {
opacity: 0.6;
transform: translate(-50%, -50%) scale(1.5);
}
100% {
opacity: 0;
transform: translate(-50%, -50%) scale(2);
}
}
/* Blue glow effect */
.purchase-container::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(100,200,255,0.1);
animation: blueGlow 2.5s forwards;
}
@keyframes blueGlow {
0% {
backdrop-filter: blur(0px);
background: rgba(100,200,255,0);
}
30% {
backdrop-filter: blur(3px);
background: rgba(100,200,255,0.4);
}
70% {
backdrop-filter: blur(2px);
background: rgba(150,230,255,0.2);
}
100% {
backdrop-filter: blur(0px);
background: rgba(100,200,255,0);
}
}
.gradient-text {
background: linear-gradient(90deg, red, orange, yellow, green, orange, red, violet);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
display: block;
margin-left: 10ch;
}
.bounce {
display: inline-block;
animation: bounce 0.5s infinite;
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
</style><<set _randomImg = Math.floor(Math.random() * 10)>>
<<print '<video width="100%" height="30%" playsinline autoplay loop muted>' +
'<source src="MagicWorldOfBimbo/Village/Shop/' + _randomImg + '.mp4" type="video/mp4" playbackrate="3.1">' +
'Your browser does not support the video tag.</video>'>>
<<typeNEW 15ms>>
<<speech "Seller">>Oh really, you are a magician!? Fantastic, I love magic! Please show me one of your tricks!<</speech>>
<div id="choices">
<!-- *********** SPELL NUMERO 1 ************* -->
<<linkappend2 "🪄 Liberation Charm (Free tits)" "Text" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
<<replace "#choices">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Spell.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<<timed 100ms transition>>
<<smoothscroll>>
<<set _randomImg = Math.floor(Math.random() * 4)>>
<<set _rockImg = '<img id="rockImage" width="100%" height="30%" src="MagicWorldOfBimbo/Village/Shop/Showtits/' + _randomImg + '.webp">'>>
<<print _rockImg>>
<<speech "Seller">>Oh! What a strange feeling. Sorry sir, usually I don't behave like this, please don't judge me, but I'd love to I show my boobies...<</speech>>
<<speech "Seller">>Here they are. I know, they're not very big, but pretty enough, aren't they? OK I showed them, but I'm a trader. I want something in return.<</speech>>
<<speech "Seller">>Can you show me your cock in exchange?<</speech>>
<<linkappend2 "Of course! Here's my cock." >>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Shop/Showtits/BJ1/1b.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Seller">>Wow, You definitely have a massive dick. Not like most of the Elf males in this town...<</speech>>
<<speech "Seller">>It's so beautiful. And it smells... good. Please sir, can I lick it? I swear you won't regret coming to this shop from now on.<</speech>>
<<linkappend2 "It's so nicely demanded. Of course, please help yourself.">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/Shop/Showtits/BJ1/3b.webp">
<<speech "Seller">>Oh yes thank you so much! Slurrrrp! Mmmmh it tastes as good as it smells! Such a great cock!! Slurp! Can I suck it?<</speech>>
<<linkappend2 "Oh yes. Enjoy the taste!">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/Shop/Showtits/BJ1/4.webp">
The vendor sucks you with frenzy!
<<speech "Seller">>Shlop! Glop! Glog! Yum! Do like it as much as I do, sir?<</speech>>
<<linkappend2 "Yes but I've the feeling you can take it deeper!">>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Shop/Showtits/BJ1/6.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
To your surprise, the seller turns out to be a deepthroat expert!
<<speech "Seller">>GLOG! KOPF! GLOG!<</speech>>
Her tiny throat is so good that you don't last long facefucking her this way!
<<linkappend2 "Cumming" NospeechScroll>>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = $("#volumeSlider").val() / 100 || 0.3;
soundEffect.play();
<</script>>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Shop/Showtits/BJ1/7c.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
You hastily pull your dick out to plaster her face with your semen!
<<speech "Seller">>Oh yes! So hot, so thick, so smelly!! Thank you so much sir, that's the most generous tip I've ever received! Hmmmm... This cream feels so good on my skin... And the taste is fabulous!<</speech>>
<<linkappend2 "Thanks for your service">>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Shop/Showtits/BJ1/end.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
The seller seems entranced, savouring each second of your massive ejaculation.
<<speech "Seller">>No, thank you sir, as I said you're the most generous customer I've ever had. Please come back soon! I can't wait for another payment in cream!<</speech>>
<</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>>
<</linkappend2>><</linkappend2>><</timed>>
<</replace>>
<</linkappend2>>
<!-- *********** SPELL NUMERO 1 V2 ************* -->
<br>
<<linkappend2 "🪄 Liberation Charm (Free tits) V2" "Text" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
<<replace "#choices">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Spell.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<<timed 100ms transition>>
<<smoothscroll>>
<<set _randomImg = Math.floor(Math.random() * 4)>>
<<set _rockImg = '<img id="rockImage" width="100%" height="30%" src="MagicWorldOfBimbo/Village/Shop/Showtits/' + _randomImg + '.webp">'>>
<<print _rockImg>>
<<speech "Seller">>Oh! What a strange feeling. Sorry sir, usually I don't behave like this, please don't judge me, but I'd love to I show my boobies...<</speech>>
<<speech "Seller">>Here they are. I know, they're not very big, but pretty enough, aren't they? But what happened?<</speech>>
<<linkappend2 "Some clothes tend to vanish due to magic. Look, my cock is naked, too!" >>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Shop/Showtits/BJ2/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Seller">>Ooooh! How strange. But luckily, you have a huge, magnificent dick! Proportionally bigger than my tits...<</speech>>
<<speech "Seller">>I feel embarrassed sir, you showed more than me. Can I lick it to counterbalance?<</speech>>
<<linkappend2 "You're welcome, very generous. Come and help yourself!">>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Shop/Showtits/BJ2/2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Seller">>I can't believe I can play with such a big tool! Will it fit? Slurp! Gulp! Mmmh delicious!<</speech>>
<<speech "Seller">>Oh sir, I'd really like to give you a real blowjob, may I?<</speech>>
<<linkappend2 "Don't be shy! Be crazy!">>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Shop/Showtits/BJ2/3.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<video src="MagicWorldOfBimbo/Village/Shop/Showtits/BJ2/3b.mp4" playsinline autoplay loop muted></video>
<<speech "Seller">>That's my lucky day! Shlop! Glop! Glog! Slurp!!<</speech>>
The seller suddenly sucks your cock with incredible lust and greed, as if she had waited for this moment for years!
<<speech "Seller">>SLRP! GLOK! I love your cock so much that I'd really want to take it all down my throat! SLRRRP!<</speech>>
<<linkappend2 "Enjoy!">>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Shop/Showtits/BJ2/4.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Seller">>GLOK! GLOK! KOPF! YUM! KPF! GLUG!<</speech>>
Struggling but looking at you in the eyes, the seller deepthroats you like a real pro! You can't resist for long such a treatment...
<<linkappend2 "Cum in her mouth!">>
<img width="100%" height="20%" src="MagicWorldOfBimbo/Village/Shop/Showtits/BJ2/5.webp">
You start to erupt in her mouth without warning, but she doesn't look surprised or angered. On the contrary...
<<speech "Seller">>SLURP! GULP! Mmmmhhh yummy cum! It tastes as good as your cock is huge! Please, cum on my face...<</speech>>
<<linkappend2 "Plaster her face with sperm!" NospeechScroll>>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = $("#volumeSlider").val() / 100 || 0.3;
soundEffect.play();
<</script>>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Shop/Showtits/BJ2/6.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
SHLOP!
You have rarely ejaculated like this before, completely covering her pretty face... And she doesn't complain.
<<speech "Seller">>So hot... so good... You're so generous with me sir... I'm like in heaven... I've never received such a gift before...<</speech>>
<<linkappend2 "Do you like cum?">>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Shop/Showtits/BJ2/7.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Seller">>It drives me crazyyyyy! OOOOOH so much cream, so rich, so thick I'm losing my mind!! You've discovered my weakness... OOOH...<</speech>>
<<linkappend2 "Thanks">>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Shop/Showtits/BJ2/8.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Seller">>Will you come back soon? I want more...<</speech>>
<</linkappend2>><</linkappend2>>
<</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>>
<</linkappend2>><</linkappend2>><</timed>>
<</replace>>
<</linkappend2>>
<!-- *********** SPELL NUMERO 2 ************* -->
<!-- *********** SPELL NUMERO 3 ************* -->
<!-- *********** SPELL NUMERO 4 ************* -->
<br>
</div>
[[Leave|Village]]
<</typeNEW>><<set _randomImg = Math.floor(Math.random() * 9)>>
<<set _rockImg = '<img id="rockImage" width="100%" height="30%" src="MagicWorldOfBimbo/Forest/Witch/BuyScroll/' + _randomImg + '.webp">'>>
<<print _rockImg>>
<!-- *********** SPELL NUMERO 1 ************* -->
<<if $Scrolltitsfree == 1>>
<<linkappend2 "🪄 Free tits" "Text" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Spell.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<<speech "You">>Liberation Charm...<</speech>>
<<set _randomImg = Math.floor(Math.random() * 5)>>
<<print '<video width="100%" height="30%" playsinline autoplay loop muted>' +
'<source src="MagicWorldOfBimbo/Forest/Witch/BuyScroll/TrySpell/' + _randomImg + '.mp4" type="video/mp4">' +
'Your browser does not support the video tag.</video>'>>
<<speech "Witch">>what's going on?<</speech>>
[[Again?|TryWitchSpell]]
<</linkappend2>>
<</if>>
<!-- *********** SPELL CURSED ************* -->
<<if $FoundScroll > 3>>
<<linkappend2 "🪄💀 look at her tits" "Text" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Spell.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<<speech "You">>I'm very cursed...<</speech>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Forest/Witch/BuyScroll/TrySpell/Cumface/2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Witch">>This cursed scroll really works well. Thanks for the samples.<</speech>>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = $("#volumeSlider").val() / 100 || 0.3;
soundEffect.play();
<</script>>
[[Again?|TryWitchSpell]]
<</linkappend2>>
<</if>>
[[Back to the Forest|Enter the forest]]<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/GoWoods/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>Stop, before we go further, I'd like to say something. I can't believe what I'm feeling. We're back in this forest, and I'm not scared anymore. I can wear the outfits I like without fearing of getting assaulted. <</speech>>
<<speech "Amy">>For this, thank you my friend. And thus I want to make this walk with you unforgettable. Where would you like to go?<</speech>>
[[Go to the waterfall]][[Running in the snowy forest]]
<<if $FoundScroll > 3>>
<<linkappend2 "🪄💀💦Look at her breasts." "disableScroll" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
"A curse seems to be on you, you can't help yourself and you ejaculate on the girl..."
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/GoWoods/2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = $("#volumeSlider").val() / 100 || 0.3;
soundEffect.play();
<</script>>
<<speech "Amy">>But you're a big disgusting person...<</speech>>
<<speech "You">> I think I'm cursed...<</speech>>
<<speech "Amy">>I want to go back to town now...<</speech>>
[[Village]]
<<smoothscroll>>
<</linkappend2>>
<</if>>
<<set _randomImg = Math.floor(Math.random() * 3)>>
<div id="planting-ui" style="text-align: center;">
<<print '<img width="100%" height="200px" src="MagicWorldOfBimbo/Village/Guild/Farmer/Seed/' + _randomImg + '.jpg" alt="Champ" id="field-img" style="border-radius: 10px;">'>>
<div style="margin: 20px 0; font-size: 1.2em; font-weight: bold;">
<span>Seeds planted: <span id="seeds-planted">0</span>/10</span>
<br>
<span>Score: <span id="planting-score">0</span>/200 (Need 80 to qualify)</span>
</div>
<div id="planting-bar-container" style="width: 400px; height: 40px; background-color: #8B4513; margin: 0 auto 15px; position: relative; border: 3px solid #654321; overflow: hidden; border-radius: 8px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.6);">
<div id="bar-red-left" style="position: absolute; left: 0%; top: 0; width: 20%; height: 100%; background-color: #CD5C5C;"></div>
<div id="bar-yellow-left" style="position: absolute; left: 20%; top: 0; width: 20%; height: 100%; background-color: #DAA520;"></div>
<div id="bar-green-center" style="position: absolute; left: 40%; top: 0; width: 20%; height: 100%; background-color: #32CD32;"></div>
<div id="bar-yellow-right" style="position: absolute; left: 60%; top: 0; width: 20%; height: 100%; background-color: #DAA520;"></div>
<div id="bar-red-right" style="position: absolute; left: 80%; top: 0; width: 20%; height: 100%; background-color: #CD5C5C;"></div>
<div id="planting-cursor" style="position: absolute; left: 0%; top: 0; width: 6px; height: 100%; background-color: #2F4F2F; z-index: 1; border: 1px solid white;"></div>
</div>
<button id="plant-button">🌱 Plant the seed!</button>
<div id="planting-feedback" style="margin-top: 15px; font-weight: bold; line-height: 1.4; min-height: 80px;"> </div>
<div id="planting-continue" style="margin-top: 20px; display: none;">
<br>
<<set _randomImg = Math.floor(Math.random() * 2)>>
<<print '<video width="100%" height="30%" playsinline autoplay loop muted>' +
'<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Seed/' + _randomImg + '.mp4" type="video/mp4">' +
'Your browser does not support the video tag.</video>'>>
<<speech "Farmer">>Amazing, you're very good at planting seeds! I was afraid you'd be intimidated, but no, you're perfect for this job! I love how you stick your seed hard and deep... That's the right thing to do if you wish to harvest big, round mellons after!<</speech>>
[[Retry|Plante]]
[[Return|Farmer Girl]]
</div>
</div>
<style>
#plant-button {
display: block; margin: 0 auto; width: 280px;
padding: 15px 25px; font-size: 1.2em; font-weight: bold;
cursor: pointer; background-color: #228B22; color: white;
border: none; border-radius: 8px; text-transform: uppercase;
transition: background-color 0.2s ease, transform 0.1s ease;
box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
#plant-button:hover { background-color: #006400; }
#plant-button:active { transform: scale(0.95); }
#plant-button:disabled {
cursor: not-allowed; background-color: #666; opacity: 0.5;
}
#planting-feedback {
padding: 10px;
border: 2px solid transparent;
display: inline-block;
min-width: 300px;
border-radius: 5px;
background-color: rgba(255,255,255,0.1);
}
.seed-animation {
animation: plantGrow 1s ease-in-out;
}
@keyframes plantGrow {
0% { transform: scale(1) }
50% { transform: scale(1.2); }
8% { transform: scale(0.9); }
100% { transform: scale(1); }
}
</style>
<<include Script-Seed>>
<<script>>
var CONFIG_CURSOR_SPEEDSEED =100 + (2 * (parseInt(State.variables.FarmerSeedCount) || 0));
var yellowZone1End = 40;
var greenZoneEnd = 60;
var yellowZone2End = 80;
var aaaaaaa = 1;
var seedsPlanted = 0;
var totalScore = 0;
var gameFinished = false;
var plantingResults = {
perfect: { points: 20, message: '🌟 Perfect planting!', color: '#32CD32', emoji: '🌱✨' },
good: { points: 10, message: '👍 Good planting!', color: '#DAA520', emoji: '🌱' },
poor: { points: 2, message: '😐 Poor planting...', color: '#CD5C5C', emoji: '🥀' }
};
$(document).one(':passagedisplay', function (ev) {
var cursorPosPercent = 0;
var cursorDirection = 1;
var intervalId = null;
var lastUpdateTime = performance.now();
var cursor = $('#planting-cursor');
var button = $('#plant-button');
var feedback = $('#planting-feedback');
var continueLinks = $('#planting-continue');
var fieldImage = $('#field-img');
var seedsCounter = $('#seeds-planted');
var scoreCounter = $('#planting-score');
function updateCursor() {
if (gameFinished) return;
var now = performance.now();
var deltaTime = (now - lastUpdateTime) / 1000;
lastUpdateTime = now;
cursorPosPercent += cursorDirection * CONFIG_CURSOR_SPEEDSEED * deltaTime;
var currentSpeed = 100 + (2 * (parseInt(State.variables.FarmerSeedCount) || 0));
cursorPosPercent += cursorDirection * currentSpeed * deltaTime;
if (cursorPosPercent >= 100) {
cursorPosPercent = 100; cursorDirection = -1;
} else if (cursorPosPercent <= 0) {
cursorPosPercent = 0; cursorDirection = 1;
}
cursor.css('left', cursorPosPercent + '%');
}
function handlePlanting() {
if (gameFinished) return;
var finalPos = cursorPosPercent;
var plantResult;
// Déterminer le résultat selon la position
if (finalPos > yellowZone1End && finalPos <= greenZoneEnd) {
plantResult = plantingResults.perfect;
} else if ((finalPos > 20 && finalPos <= yellowZone1End) ||
(finalPos > greenZoneEnd && finalPos <= yellowZone2End)) {
plantResult = plantingResults.good;
} else {
plantResult = plantingResults.poor;
}
seedsPlanted++;
totalScore += plantResult.points;
// Mettre à jour l'affichage
seedsCounter.text(seedsPlanted);
scoreCounter.text(totalScore);
// Animation de plantation
fieldImage.addClass('seed-animation');
setTimeout(() => fieldImage.removeClass('seed-animation'), 1000);
var message = `${plantResult.emoji}<br>`;
message += `<span style="color: ${plantResult.color}; font-weight:bold;">${plantResult.message}</span><br>`;
message += `+${plantResult.points} points!<br>`;
message += `<small><strong>Position: ${finalPos.toFixed(1)}%</strong></small><br>`;
if (seedsPlanted < 10) {
message += `<small>${10 - seedsPlanted} more seed(s) to plant!</small>`;
}
feedback.css({ 'border': `2px solid ${plantResult.color}` });
feedback.html(message);
// Vérifier si le jeu est terminé
if (seedsPlanted >= 10) {
gameFinished = true;
if (intervalId !== null) {
clearInterval(intervalId);
intervalId = null;
}
button.prop('disabled', true);
// Final message
var finalMessage = `<br><strong>🎉 Planting completed!</strong><br>`;
finalMessage += `Final Score: ${totalScore}/200<br>`;
if (totalScore >= 80) {
finalMessage += `<span style="color: gold;">🏆 QUALIFIED! Well done!</span>`;
State.variables.FarmerSeedCount +=1;
} else {
finalMessage += `<span style="color: #CD5C5C;">❌ NOT QUALIFIED (Need 80 points)</span>`;
}
feedback.html(finalMessage);
// Save score in Sugarcube variables
try {
State.variables.plantingScore = totalScore;
State.variables.seedsPlanted = seedsPlanted;
State.variables.qualified = (totalScore >= 80);
} catch (e) {
console.error("Error saving Sugarcube variables:", e);
}
continueLinks.show();
}
}
function startGame() {
seedsPlanted = 0;
totalScore = 0;
gameFinished = false;
cursorPosPercent = 0;
cursorDirection = 1;
cursor.css('left', '0%');
seedsCounter.text('0');
scoreCounter.text('0');
feedback.html('Click at the right moment in the green zone to plant perfectly!');
feedback.css({'border-color': 'transparent'});
button.prop('disabled', false);
continueLinks.hide();
fieldImage.css('filter', 'none');
lastUpdateTime = performance.now();
if (intervalId === null) {
intervalId = setInterval(updateCursor, 16);
}
}
button.on('click', handlePlanting);
startGame();
$(document).one(':passagedone', function (ev) {
if (intervalId !== null) {
clearInterval(intervalId);
intervalId = null;
}
button.off('click', handlePlanting);
});
});
<</script>>
<<set _randomImg = Math.floor(Math.random() * 1)>>
<<print '<video width="100%" height="30%" playsinline autoplay loop muted>' +
'<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Sex/' + _randomImg + '.mp4" type="video/mp4" playbackrate="3.1">' +
'Your browser does not support the video tag.</video>'>>
<<speech "Farmer">>As promised, your work deserves a reward, my little one, Follow me! Here's... a free pumpkin!<</speech>>
<<linkappend2 "Are you serious?!" "NospeechScroll">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Sex/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Farmer">>Just kidding. I know you prefer watermellons, don't ya? We'll, you'll be satisfied. There are 3 specials rewards to unlock if you're a good worker at my farm! Which farm activity do you prefer? Hose? Drain? Drill?<</speech>>
<!-- *********** REWARD 1 ************* -->
<br>
<<linkappend2 "✨Reward 1 - Hose!" >>
Without a word, the farmer undresses and gets on all fours on the bed, opening her mouth wide.
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Sex/A1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Farmer">>Water me, Baby! The best crops deserve a lot of spraying, and I'm sure you're an expert... Show me your hose!<</speech>>
<<linkappend2 "Cumming" NospeechScroll>>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = $("#volumeSlider").val() / 100 || 0.3;
soundEffect.play();
<</script>>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Sex/A2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
You hastily pull your dick out to plaster her face with your semen! She gladly receives it and tastes your cum with delight.
<<speech "Farmer">>Good boy! All over my face like a pro! There's so much of it, it's unbelievable! And so rich, so tasty! I'm very happy you applied. You want more? Work more!<</speech>>
<</linkappend2>>
<</linkappend2>>
<!-- *********** REWARD 2 ************* -->
<br>
<<linkappend2 "✨Reward 2 - Drain!" >>
Unceremoniously the grow woman seizes your big dick and stick it in her naughty mouth.
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Sex/B1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Farmer">>Shlop! Slurrrp! Good choice, I'm going to drain your balls. SLURP! But first, I'm going to savour this mighty cock! Shlop! It's not all the time I can have such a big one!!<</speech>>
<<linkappend2 "To savour it, deepthroat it!" NospeechScroll>>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Sex/B2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
Without questioning the milf obeys, pushing your huge dick down her tight throat. But she clearly struggles with the size and starts to gag halfway!
<<speech "Farmer">>Glog! Glok! KOPF! KPFFF!!<</speech>>
<<linkappend2 "What's happening, is it too much for you?" NospeechScroll>>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Sex/B3.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = $("#volumeSlider").val() / 100 || 0.3;
soundEffect.play();
<</script>>
But her throat's contractions are so hot that you rapidly cum despite your boasting... The farmer avidly swallows every drop, rolling her eyes as she's losing her mind because of the taste of your cum.
<<speech "Farmer">>Slurp! Gulp! Yes my boy, come in momy's mouth! Gulp! Please be indulgent, I'm not used to deepthroat. Usually, I prefer to use my ass for cocks of this size! Slurp! Gulp! Anyway, continue the hard work at the farm!<</speech>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<!-- *********** REWARD 3 ************* -->
<br>
<<linkappend2 "✨Reward 3 - Drill!" >>
The buxom mature woman has a naughty smile, as if she was expecting you to choose this. Rapidly you get both naked...
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Sex/C1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
She turns around and jumps on your big cock, sticking it straight in her asshole! Moving her big butt sensually, she twerks on your pole as you are stretching her sphincter, massaging it like no hole before.
<<speech "Farmer">>I thought you'd never try to shove your dick in my deepest pit, you prudish boy. Now let me show you my specialty... You like it, don't ya? Oh my god, you're very big, maybe I should lubricate your dick a bit...<</speech>>
<<linkappend2 "Good idea, suck my dick." NospeechScroll>>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Sex/B2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
Unceremoniously she pulls your cock out of her tight asshole and immediately starts to suck it. She pushes it very deep in her throat, gaging and drooling to make it nice and wet like a pro. However, you're here to fuck her big ass...
<<speech "Farmer">>SLRP! GLOG! GLUG! KOPF! KPFFF!<</speech>>
<<linkappend2 "Take charge." NospeechScroll>>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Sex/C2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
Unable to wait she finishes to lick your dick, you grab her and force her on your massive dick. Your cock enters her ass easily and you start to bang her very hard. But doing so it makes her sphincter skirt some sperm...
<<speech "Farmer">>Oh my god! So hard and deep! When I think I thought you were a shy boy! But you earned it, fuck my ass as you wish. AGH. And... don't worry for the semen... The worker who came earlier today, you know?<</speech>>
<<linkappend2 "You're such a nympho!" NospeechScroll>>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Sex/C3.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Farmer">>AAAGH you're balls deep right!? WOOOOH! E... easy big boy! You're going to tear my ass apart!!<</speech>>
<<linkappend2 "Continue to assfuck her balls deep." NospeechScroll>>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Sex/C4.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Farmer">>Omigod you're so big, it's so good... You're pumping out all the cum of your predecessor with your huge tool... I'm feeling empty.<</speech>>
<<linkappend2 "Don't worry I'm going to seed you myself!" NospeechScroll>>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Sex/C5.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Sperm1.wav');
soundEffect.volume = $("#volumeSlider").val() / 100 || 0.3;
soundEffect.play();
<</script>>
Aroused by her tight ass, you deliver one of the biggest ejaculations you've ever made directly in her rectum. A geyser of cum erupts from her anus because of the pressure!
<<speech "Farmer">>Gosh you're cumming in my ass, I can feel your hot sperm... There's so much I can't believe it! You're flooding my bowels more than a werewolf.<</speech>>
<<linkappend2 "Because I want to seed you myself!" NospeechScroll>>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Sex/C6.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Farmer">>Yes it's so good! Continue to stretch my ass as you're pumping your last loads in my intestines! What a stallion you are!! Better in my butthole than in the fields!<</speech>>
<<linkappend2 "And you've seen nothing!" NospeechScroll>>
<video width="100%" height="30%" playsinline autoplay loop muted>\
<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Sex/C7.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Farmer">>Still hard? Really? Ohlalala this is incredible. OK big boy you can continue to fuck my ass if you want... Please don't bang me to hard, I have to walk in my fields...<</speech>>
You don't follow her advice and cum in her big butt two more times before falling asleep... As you wish the farmer thanks you for your hard work.
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<br>
[[(In Dev) Try the next plantation|FarmerPlanteV2]]
[[Return|Farmer Girl]]
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/GoWoods/waterfall/2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>Oh yes great idea, I'd love to return there safely! I lost my clothes there last time, just before we first met. Follow me, I know the way!<</speech>>
<<speech "Amy">>Everything's OK, can you follow my pace? Incidentally, did you take a swimsuit giggle?<</speech>>
<<linkappend2 "Don't worry for me, I'm happy staying behind! Not sure I'll bath." t8n>>
And after a long run...
<<speech "Amy">> We're close. But... All this race in the forest makes my buttock muscles ache... Too bad, I'm not sure if I'll take a bath too... Moreover, I'm very thirsty now.<</speech>>
<<linkappend2 "💦I can give you something wet. But you must close your eyes.">>
<<speech "Amy">>Oh!? This is weird, but I trust you, okay I'm closing my eyes. In fact, I hope you wish the same thing as me...<</speech>>
<<vi "Village/Date/GoWoods/waterfall/Beautiful/A1.mp4">><</vi>>
She closes her eyes and you notice that she's ready to be kissed. In fact, she looks desperate for being kissed!
<<linkappend2 "💋Kiss her" "NospeechScroll">>
<<speech "Amy">>Oh! A delicious, wet kiss! Soooo romantic thank ya.💖But... I'm afraid it won't quench my thirst...<</speech>>
<</linkappend2>>
<<linkappend2 "💦Stick your cock in her mouth" "NospeechScroll">>
<<speech "Amy">>Oh...gosh... what!?<</speech>>
<<vi "Village/Date/GoWoods/waterfall/Beautiful/1.mp4">><</vi>>
<<speech "Amy">>Kopf!? Seriously?? Slurp! Slurp! SLRRRP!<</speech>>
She seems to protest at first, but she starts to suck your dick like a real pro!
<<linkappend2 "Cumming in her mouth!!" "NospeechScroll">>
<<vi "Village/Date/GoWoods/waterfall/Beautiful/2.webp">><</vi>>
<<speech "Amy">>I can't believe... GULP! GULP! GULP!<</speech>>
<<speech "Amy">>Oh my... Okay it refreshed me... And it didn't taste so bad. But it was a little too direct and brutal... Next time I'm going home!<</speech>>
<<linkappend2 "Open your mouth, please..." "NospeechScroll">>
<<vi "Village/Date/GoWoods/waterfall/Beautiful/A2.mp4">><</vi>>
<<speech "Amy">>Gargl... Kopf... OK, too much semen... How do you manage to keep all that cream in your balls? Kopf! You nearly choked me! Next time, ask me, I'm not used to swallow that much!!<</speech>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<<linkappend2 "🥰Do you want a Massage?">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/GoWoods/waterfall/3.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">> Yes it's true you're an expert. I'm all sore down there, could you massage my buttocks please? Focus on my ass.<</speech>>
<<linkappend2 "Not complicated. Happy to help." t8n>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/GoWoods/waterfall/4.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>Oh yes, you're doing very well! Squeeze my butt cheeks like this yes... You're such a helpful friend, I hope it doesn't bother you to massage my ass?<</speech>>
<<speech "Amy">>At least we stopped in a beautiful place. See that brook ahead? It comes from the waterfall!<</speech>>
<<linkappend2 "I agree the view is wonderful. Not boring at all!" t8n>>
<<speech "Amy">>I feel much better, let's continue.<</speech>>
They resume their trip and arrives to the waterfall.
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
[[Waterfall Arrival]]
<</linkappend2>> <video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/GoWoods/SnowPatch/2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>I can't wait for running with you...💦<</speech>>
This part will arrive in the next update...
If you like the games please support me.
---------------------------------------------------------------
<br><br>
<<include "Support">>
[[Finish for this update - Return|💦Walk into the woods with Amy.]]
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/GoWoods/waterfall/RandIntro/A2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>Finally! I love this place so much, I hope you'll like it equally. And now the big question... How do you want me and these big babies, while we enjoy the clear waters and the quiet?<</speech>>
<div id="choices">
<<linkappend2 "👙Bikini" "disableScroll">>
<<replace "#choices">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/GoWoods/waterfall/RandIntro/A3.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>Such a gentleman, never trying to get advantage of naive women... Let's have a bath then. Mmmh the water is good!<</speech>>
<<speech "Amy">> I'm so happy to share this moment with you. May I ask you a question? Which part of me do you prefer? Don't be shy!<</speech>>
<<smoothscroll>>
[[Your big tits!]][[Your bubble butt!]]
<</replace>>
<</linkappend2>>
<!-- *********** Choix 2 ************* -->
[[🍆Naked]]
</div>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Date/GoWoods/waterfall/2.WEBP">
<<speech "Amy">>Straight to the point, I appreciate your honesty. Get an eyeful, don't be shy now!<</speech>>
<<speech "Amy">>Speechless, eh? What if I put my nipples in the cold water to make them erect? <</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<<vi "Village/Date/GoWoods/waterfall/1.mp4">><</vi>>
<<speech "Amy">>Unless you prefer to stare at my big butt?<</speech>>
Happy to have stunned you, Amy dives to swim in the water of the lake. When she returns, she decides you have to leave. But it seems she forgot something... AGAIN!
<<linkappend2 "Next" "NospeechScroll">>
<<vi "Village/Date/GoWoods/waterfall/R1.mp4">><</vi>>
<<speech "Amy">>Yes I forgot my clothes, I'm soooo scatterbrained... But I don't care giggle! Follow me if you can!<</speech>>
<<speech "Amy">>Hahaha so fun, if you catch me, you fuck me OK?<</speech>>
<<linkappend2 "Run and catch her!" "NospeechScroll">>
<<vi "Village/Date/GoWoods/waterfall/S1.mp4">><</vi>>
Soon after....
<<speech "Amy">>I've never seen you so avid and brutal, it was as if I was hunted down and caught by an Orc! OK I stop to tease you, now claim my body my hero!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<<vi "Village/Date/GoWoods/waterfall/S2.mp4">><</vi>>
<<speech "Amy">>Yes! Yes! Fuck me! Bang the defenseless girl you captured! Harder! Deeper!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<<vi "Village/Date/GoWoods/waterfall/S3.mp4">><</vi>>
<<speech "Amy">>Hmmmm I love your cock in me so much... And you look... mesmerized by my bouncing tits, do you like them that much? OK let's switch position before you collapse!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<video width="100%" height="30%" playsinline autoplay loop muted><source src="MagicWorldOfBimbo/Village/Date/GoWoods/waterfall/S4.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>Yes, even deeper, just like that! Look at my eyes when you bang me! I want you to last as long as you can! Make me cum!! <</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<video width="100%" height="30%" playsinline autoplay loop muted><source src="MagicWorldOfBimbo/Village/Date/GoWoods/waterfall/S5.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
One hour later...
<<speech "Amy">>Fantastic... gulp! That... that was one of the five best fucks I've ever had in my life! You filled my cunt with so much hot sperm.<</speech>>
<<speech "Amy">>Don't worry I'm a herbalist, I know plants to prevent Elf women from getting pregnant...<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<video width="100%" height="30%" playsinline autoplay loop muted><source src="MagicWorldOfBimbo/Village/Date/GoWoods/waterfall/S6.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
One hour later...
<<speech "Amy">>It was great, you're a good lover, I can't wait for our next rendezvous. Mmmh I know that look... Don't worry you'll be able to have fun with my boobies too next time!<</speech>>
Both satisfied, and already thinking about next time, you return to the village.
[[Back to the Village|Village]]
<</linkappend2>> <</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>><</linkappend2>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/GoWoods/waterfall/RandIntro/A1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">>My breasts... I knew it! You stare at them all the time... Well, I love them too. And it's a bit thanks to you they're so nice and big!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Date/GoWoods/waterfall/RandIntro/B4.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Amy">> See how they are inflated? I'm so proud of them! I think you deserve to get an eyeful.<</speech>>
<<linkappend2 "I think I deserve more than one eyeful">>
<<speech "Amy">> Actually, you're right. Come here, my hero, and claim your prize! Two, huge, round, soft fun bags!<</speech>>
<<linkappend2 "Claim!" "NospeechScroll">>
<<vi "Village/Date/GoWoods/waterfall/TitsJob/0.jpg">><</vi>>
<<speech "Amy">>What are you waiting fore? Put your dick between my big tits!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<<vi "Village/Date/GoWoods/waterfall/TitsJob/1.jpg">><</vi>>
<<speech "Amy">>So you like them? Do you like when they press your thick manhood just like that, warm and soft?<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<<vi "Village/Date/GoWoods/waterfall/TitsJob/2.mp4">><</vi>>
<<speech "Amy">>Yeah, Baby move your cock...<</speech>>
<<speech "You">>I'm cumming!<</speech>>
<<linkappend2 "Cumming" "NospeechScroll">>
<<vi "Village/Date/GoWoods/waterfall/TitsJob/31.mp4">><</vi>>
<<speech "Amy">>Wow... You're like a geyser! Do my tits arouse you that much? I'm flattered... and fulfilled! So much tasty cream all over my body!<</speech>>
<<linkappend2 "Next" "NospeechScroll">>
<<vi "Village/Date/GoWoods/waterfall/TitsJob/4.mp4">><</vi>>
<<speech "Amy">>Your cream feels so good on my skin... Your cock and my tits are so perfectly matched... We must do this again and again!<</speech>>
Amy swallows happily, and now you are both satisfied, your decide to leave.
[[Back to the Village|Village]]
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>><<vi "Village/Date/GoWoods/waterfall/RandIntro/B2.mp4">><</vi>>
<<speech "Amy">>Oh really? My ass?? I didn't realize giggle, I'm flattered. A chance I put a string on then. Get an eyeful you deserve it!<</speech>>
<<speech "Amy">>And so, what do you think when you stare at my ass like that?<</speech>>
<div id="choices">
<!-- *********** Choix 1 ************* -->
<<linkappend2 "I want to fuck your asshole 💀" "disableScroll">>
<<replace "#choices">>
<<vi "Village/Date/GoWoods/waterfall/RandIntro/B1.mp4">><</vi>>
<<speech "Amy">>Seriously? You tell an honourable woman you want to fuck her ass on a first romantic date just like that??<</speech>>
<<speech "Amy">>Tsss... Such a perv, you're all the same. No way, do you hear me? Bye bye, I go to swim.<</speech>>
Shocked, Amy doesn't tell any more word until you return to the village...
<<smoothscroll>>
[[Back to the Village|Village]]
<</replace>>
<</linkappend2>>
<!-- *********** Choix 2 ************* -->
<<linkappend2 "Such a piece of art that I'm the luckiest guy in the world!" "disableScroll">>
<<replace "#choices">>
<<vi "Village/Date/GoWoods/waterfall/RandIntro/B3.mp4">><</vi>>
<<speech "Amy">>Oh! Thank you so much. In fact, you're so kind that I'd like to reward you even more. Let's go out from the basin...<</speech>>
<<smoothscroll>>
<<linkappend2 "What now?">>
Soon after...
<<vi "Village/Date/GoWoods/waterfall/Beautiful/0.mp4">><</vi>>
<<speech "Amy">>Now, first I remove my top for you... To get comfortable. I really want to show you my gratitude... But how? You said you prefered to watch my ass...<</speech>>
<<linkappend2 "What about licking my lollipop?!" >>
<<vi "Village/Date/GoWoods/waterfall/Beautiful/1.mp4">><</vi>>
<<speech "Amy">>Sure! Great idea! Slurp... Hmmm I can't get enough of that thick, juicy pole... SLRRRP! <</speech>>
<<linkappend2 "So good... If you continue like this I... " >>
<<vi "Village/Date/GoWoods/waterfall/Beautiful/2.webp">><</vi>>
<<speech "Amy">>I... shlop... can see you're enjoying.... gulp... my present! GULP! But I'm not finished with you. Fuck me now!!<</speech>>
<<linkappend2 "No problem! I'm going to take your juicy pussy. But from behind!" >>
<<vi "Village/Date/GoWoods/waterfall/Beautiful/3.mp4">><</vi>>
<<speech "Amy">>From behind? Of course, here it is, my hero! Fuck me at will, yes, I like your big cock in my pussy! Watch my beautiful butt boucing at the same time! <</speech>>
<<linkappend2 "Too sexy, I can't hold it!!" >>
<<vi "Village/Date/GoWoods/waterfall/Beautiful/4.webp">><</vi>>
<<speech "Amy">>Mmmmm you're such a great fucker! If you continue to be my hero like you did, maybe I'll let you fuck my tight little ass in the future... <</speech>>
As you depart for the village, you can't help but thinking about Amy's last promise...
[[Back to the Village|Village]]
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</replace>>
<</linkappend2>>
</div><<set _randomImg = Math.floor(Math.random() * 5)>>
<div id="planting-ui" style="text-align: center;">
<div class="field-container">
<<print '<img src="MagicWorldOfBimbo/Village/Guild/Farmer/Seed/' + _randomImg + '.jpg" alt="Field" id="field-img" >'>>
</div>
<div style="margin: 20px 0; font-size: 1.2em; font-weight: bold;">
<span>Seeds planted: <span id="seeds-planted">0</span>/10</span>
<br>
<span>Score: <span id="planting-score">0</span>/200 (Need 80 to qualify)</span>
</div>
<div id="farmer-quote" style="margin: 15px 0; padding: 10px; background-color: rgba(139, 69, 19, 0.6); border-radius: 8px; font-style: italic; color: #DAA520; min-height: 40px;">
<strong>👨🌾 Farmer:</strong> <span id="quote-text">Click to plant and hear my wisdom!</span>
</div>
<div id="planting-bar-container" style="width: 400px; height: 40px; background-color: #8B4513; margin: 0 auto 15px; position: relative; border: 3px solid #654321; overflow: hidden; border-radius: 8px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.6);">
<div id="bar-red-left" style="position: absolute; left: 0%; top: 0; width: 20%; height: 100%; background-color: #CD5C5C;"></div>
<div id="bar-yellow-left" style="position: absolute; left: 20%; top: 0; width: 20%; height: 100%; background-color: #DAA520;"></div>
<div id="bar-green-center" style="position: absolute; left: 40%; top: 0; width: 20%; height: 100%; background-color: #32CD32;"></div>
<div id="bar-yellow-right" style="position: absolute; left: 60%; top: 0; width: 20%; height: 100%; background-color: #DAA520;"></div>
<div id="bar-red-right" style="position: absolute; left: 80%; top: 0; width: 20%; height: 100%; background-color: #CD5C5C;"></div>
<div id="planting-cursor" style="position: absolute; left: 0%; top: 0; width: 6px; height: 100%; background-color: #2F4F2F; z-index: 1; border: 1px solid white;"></div>
</div>
<button id="plant-button" onclick="plantSeed()">🌱 Plant the seed!</button>
<div id="planting-feedback" style="margin-top: 15px; font-weight: bold; line-height: 1.4; min-height: 10px;"></div>
<div id="planting-continue" style="margin-top: 20px; display: none;">
<br>
<<set _randomImg = Math.floor(Math.random() * 2)>>
<<print '<video width="100%" height="30%" playsinline autoplay loop muted>' +
'<source src="MagicWorldOfBimbo/Village/Guild/Farmer/Seed/' + _randomImg + '.mp4" type="video/mp4">' +
'Your browser does not support the video tag.</video>'>>
<<speech "Farmer">>Amazing, you're very good at planting seeds! I was afraid you'd be intimidated, but no, you're perfect for this job! I love how you stick your seed hard and deep... That's the right thing to do if you wish to harvest big, round melons after!<</speech>>
[[Retry|Plante]]
[[Return|Guild]]
</div>
</div>
<style>
.field-container {
display: inline-block;
border: 4px solid #4169E1;
border-radius: 15px;
padding: 8px;
background: linear-gradient(145deg, #87CEEB, #4682B4);
box-shadow: 0 6px 15px rgba(65, 105, 225, 0.4),
inset 0 2px 4px rgba(255, 255, 255, 0.3);
margin-bottom: 20px;
position: relative;
overflow: hidden;
}
.field-container::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(45deg, transparent 48%, rgba(255, 255, 255, 0.1) 50%, transparent 52%);
pointer-events: none;
}
#field-img {
width: 500px;
height: 500px;
object-fit: cover;
border-radius: 10px;
cursor: pointer;
transition: transform 0.2s ease, filter 0.2s ease;
display: block;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
position: relative;
width: 100%;
max-width: 400px; /* Limit size */
margin-bottom: 15px;
display: block; /* Remove extra space below */
width: 100%;
height: auto; /* Maintain aspect ratio */
aspect-ratio: 4 / 5; /* Typical portrait aspect ratio */
object-fit: cover; /* Cover the container */
border-radius: 20px;
border: 3px solid #00ff88;
box-shadow: 0 0 30px rgba(0, 255, 136, 0.5);
transition: all 0.5s ease;
}
#field-img:hover {
transform: scale(1.02);
filter: brightness(1.1);
}
.bounce-animation {
animation: bounceEffect 0.8s ease-in-out;
}
@keyframes bounceEffect {
0% { transform: scale(1) rotate(0deg); }
25% { transform: scale(1.05) rotate(-1deg); }
50% { transform: scale(0.98) rotate(1deg); }
75% { transform: scale(1.03) rotate(-0.5deg); }
100% { transform: scale(1) rotate(0deg); }
}
#plant-button {
display: block; margin: 0 auto; width: 280px;
padding: 15px 25px; font-size: 1.2em; font-weight: bold;
cursor: pointer; background-color: #228B22; color: white;
border: none; border-radius: 8px; text-transform: uppercase;
transition: background-color 0.3s ease, transform 0.1s ease;
box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
#plant-button:hover:not(:disabled) {
background-color: #006400;
}
#plant-button:active:not(:disabled) {
transform: scale(0.95);
}
#plant-button:disabled {
cursor: not-allowed;
background-color: #666;
opacity: 0.5;
transform: none;
}
#planting-feedback {
padding: 10px;
border: 2px solid transparent;
display: inline-block;
min-width: 300px;
border-radius: 5px;
background-color: rgba(255,255,255,0.1);
}
.seed-animation {
animation: plantGrow 1s ease-in-out;
}
@keyframes plantGrow {
0% { transform: scale(0) rotate(0deg); }
50% { transform: scale(1.2) rotate(180deg); }
100% { transform: scale(1) rotate(360deg); }
}
</style>
<<include SeedCodeV2>>
<<script>>
// Initialize game variables using jQuery/SugarCube compatible approach
$(document).ready(function() {
// Initialize variables if they don't exist
if (typeof variables().seedsPlanted === 'undefined') {
variables().seedsPlanted = 0;
variables().totalScore = 0;
variables().cursorPosition = 0;
variables().cursorDirection = 1;
variables().cursorMoving = false;
variables().gameComplete = false;
}
let cursorPosition = variables().cursorPosition;
let cursorDirection = variables().cursorDirection;
let cursorMoving = variables().cursorMoving;
let cursorInterval;
// Update display
$('#seeds-planted').text(variables().seedsPlanted);
$('#planting-score').text(variables().totalScore);
window.changeFieldImage = function() {
const fieldImg = $('#field-img');
const randomImg = Math.floor(Math.random() * 19);
fieldImg.attr('src', 'MagicWorldOfBimbo/Village/Guild/Farmer/Seed/' + randomImg + '.jpg');
fieldImg.addClass('bounce-animation');
// Random funny farmer quote
const funnyQuotes = [
"Ooh, you're getting the hang of this! Just like that, nice and steady!",
"I love how you handle that seed... so firm and confident!",
"Ah!Perfect technique! You really know how to work the soil!",
"That's it! Push it deep, the earth loves it rough!",
"Amazing! You're making the ground so wet and fertile!",
"Yes! Plant it harder! The soil is begging for more!",
"Wonderful! You have such strong, skilled hands!",
"Keep going! You're making my field so productive!",
"Excellent! The way you thrust that seed... magnificent!",
"Oh my! You're so good at making things grow big and round!",
"Incredible! Your planting technique is so... stimulating!",
"Perfect! The earth is responding so well to your touch!"
];
const randomQuote = funnyQuotes[Math.floor(Math.random() * funnyQuotes.length)];
$('#quote-text').text(randomQuote);
setTimeout(() => {
fieldImg.removeClass('bounce-animation');
}, 800);
};
function startCursorMovement() {
if (cursorMoving) return;
cursorMoving = true;
const cursor = $('#planting-cursor');
cursorInterval = setInterval(() => {
if (!cursorMoving) {
clearInterval(cursorInterval);
return;
}
cursorPosition += cursorDirection * 6;
if (cursorPosition >= 94) {
cursorPosition = 94;
cursorDirection = -1;
} else if (cursorPosition <= 0) {
cursorPosition = 0;
cursorDirection = 1;
}
cursor.css('left', cursorPosition + '%');
// Update state variables
variables().cursorPosition = cursorPosition;
variables().cursorDirection = cursorDirection;
}, 20);
}
window.plantSeed = function() {
if (variables().seedsPlanted >= 10 || !cursorMoving) return;
// Stop cursor and disable button
cursorMoving = false;
variables().cursorMoving = false;
clearInterval(cursorInterval);
const plantButton = $('#plant-button');
plantButton.prop('disabled', true);
plantButton.css('background-color', '#666');
plantButton.text('🌱 Planting...');
// Change image with bounce effect and farmer quote
changeFieldImage();
let points = 0;
let feedback = '';
let feedbackClass = '';
// Calculate points based on cursor position
if (cursorPosition >= 40 && cursorPosition <= 60) {
points = 30;
feedback = '🎯 Perfect! Excellent planting!';
feedbackClass = 'feedback-success';
} else if ((cursorPosition >= 20 && cursorPosition < 40) || (cursorPosition > 60 && cursorPosition <= 80)) {
points = 15;
feedback = '👍 Good! Nice planting!';
feedbackClass = 'feedback-warning';
} else {
points = 5;
feedback = '😅 Not bad... but you can do better!';
feedbackClass = 'feedback-error';
}
variables().seedsPlanted++;
variables().totalScore += points;
$('#seeds-planted').text(variables().seedsPlanted);
$('#planting-score').text(variables().totalScore);
const feedbackDiv = $('#planting-feedback');
feedbackDiv.text(feedback);
feedbackDiv.attr('class', feedbackClass);
// Wait before continuing
setTimeout(() => {
if (variables().seedsPlanted >= 10) {
if (variables().totalScore >= 80) {
$('#planting-continue').show();
plantButton.text('✅ Complete!');
variables().gameComplete = true;
} else {
feedbackDiv.text('❌ Insufficient score! You need at least 80 points.');
feedbackDiv.attr('class', 'feedback-error');
plantButton.text('❌ Failed');
setTimeout(() => {
// Reset game
variables().seedsPlanted = 0;
variables().totalScore = 0;
variables().cursorPosition = 0;
variables().cursorDirection = 1;
variables().gameComplete = false;
Engine.play('Plante');
}, 2000);
}
} else {
// Re-enable button and restart cursor
plantButton.prop('disabled', false);
plantButton.css('background-color', '#228B22');
plantButton.text('🌱 Plant the seed!');
setTimeout(() => {
startCursorMovement();
}, 500);
}
}, 1500);
};
// Start the game if not complete
if (!variables().gameComplete) {
setTimeout(() => {
startCursorMovement();
}, 1000);
} else {
// Show completion screen
$('#planting-continue').show();
$('#plant-button').prop('disabled', true);
$('#plant-button').text('✅ Complete!');
}
});
<</script>><video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Guild/Master/1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Guid Master">>The sewers are full of creatures. I need your help soon.
<</speech>>
(In dev - go back here in next update !)
<br>
<<include "Support">>
[[Back to the guild|Guild]] <img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Walk/Elena/TryClothes-Before/A01.WEBP">
<<speech "Elena">>Wonderful! Follow me my friend! I'm going to enter in my favorite clothes shop and try something, and you'll tell me if you like, OK?<</speech>>
<<if $Scrolltitsfree == 1>>
<<linkappend2 "🪄 Liberation Charm (Free tits)" "1" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
<<script>>
var soundEffect = new Audio('MagicWorldOfBimbo/Sounds/Spell.wav');
soundEffect.volume = State.variables.musicVolume / 100;
soundEffect.play();
<</script>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Walk/Elena/TryClothes-Before/SpellShowTits/A01b.jpg">
<<speech "Elena">>Hey are you listening to me? What are you looking at? <</speech>>
<</linkappend2>>
<</if>>
<<linkappend2 "Sounds like a great plan!" t8n>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Walk/Elena/TryClothes-Before/A02.JPG">
<<speech "Elena">>You're such a nice boy. We're arrived. Wait for me, you won't be disappointed. <</speech>>
<<linkappend2 "I can't wait!" t8n>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Walk/Elena/TryClothes-Before/A03.JPG">
<<speech "Elena">>I'm back! What do you think about this green dress? <</speech>>
<<linkappend2 "Wonderful on you. But perhaps old fashioned?" t8n>>
<<speech "Elena">>You're right of course. Let's try something less outmoded.<</speech>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Walk/Elena/TryClothes-Before/A04.JPG">
<<linkappend2 "Fabulous! But maybe a bit provocative?" t8n>>
<<speech "Elena">>I agree. The top looks like a bra... Ha,Ha. I come back soon.<</speech>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Walk/Elena/TryClothes-Before/A05.JPG">
<<speech "Elena">>With that one I feel like a real princess! But I prefer that the king doesn't become my 'daddy' if you see what I mean...<</speech>>
<<linkappend2 "Royal, for sure. But it's not you." t8n>>
<<speech "Elena">>Touché! You know who I'm deep in my heart don't ya? It's not my colour. We both know that I'm better in purple...<</speech>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Walk/Elena/TryClothes-Before/A06.JPG">
<<speech "Elena">>Like this!<</speech>>
<<linkappend2 "I'm speechless. But I think you shouldn't cover your shoulders." t8n>>
<video width="100%" height="30%" playsinline autoplay loop muted>
<source src="MagicWorldOfBimbo/Village/Walk/Elena/TryClothes-Before/A07.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<speech "Elena">>Yes of course! You know what goes together for sure! I'm so happy to have found at last someone who can help me! So, have we found my new dress?<</speech>>
<<linkappend2 "The colour's perfect. But something must be done to highlight your neck." t8n>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Walk/Elena/TryClothes-Before/A08.JPG">
<<speech "Elena">>Oh really? Thanks for your honesty then. Let me think about it...<</speech>>
<<linkappend2 "I'm sure you'll find." t8n>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Walk/Elena/TryClothes-Before/A09.JPG">
<<speech "Elena">>I think... I think I got it...<</speech>>
<<linkappend2 "Yes! The chains indeed goes pretty well with your beautiful neck!" t8n>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Walk/Elena/TryClothes-Before/A10.JPG">
<<speech "Elena">>Only my neck, are you sure? Seems you're having a great time eyeing my tits up giggle!<</speech>>
<<linkappend2 "I plead guilty... But the dress also goes nicely with the rest of your body." t8n>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Walk/Elena/TryClothes-Before/A11.JPG">
<<speech "Elena">>You mean when I arch my back like this?<</speech>>
<<linkappend2 "Oh my god yes, you're perfect." t8n>>
<img width="100%" height="30%" src="MagicWorldOfBimbo/Village/Walk/Elena/TryClothes-Before/A12.JPG">
<<speech "Elena">>But don't try to change the subject. We both know you can't help but staring at my boobies, right? I can't blame you... In fact, you've been such a good boy that I feel like I should reward you... Follow me, I know a place you'll love.<</speech>>
[[Go to the Blue Bar]]
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<</linkappend2>>
<<if getQuestProgress("Become an elite in the guild.") == 0 >>
<<linkappend2 "📜Quest : Become an elite in the guild." "Text" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
<<speech "Guild Master">>Do you want to become an elite and fight the darkness with us? Then earn more rank.<</speech>>
<<run addQuest("Become an elite in the guild.",100)>>
<<run incrementQuestProgress("Become an elite in the guild.")>>
<<run refreshQuestDisplay()>>
<</linkappend2>>
<</if>>
<<if getQuestProgress("Become an elite in the guild.") >= 100>>
<<linkappend2 "📜Quest : Become an elite in the guild." "" "radial-gradient(circle,rgba(164, 71, 245, 1) 0%, rgba(230, 83, 83, 1) 100%, rgba(237, 83, 83, 1) 42%);">>
<<speech "Guild Master">>OH ! Thanks... we need to celebrat that... come with me...<</speech>>
<<include "relationshipIcon">>
<</linkappend2>>
<</if>>